博客
关于我
matlab2018在图片上添加文字并保存且图片没有白边
阅读量:725 次
发布时间:2019-03-21

本文共 1013 字,大约阅读时间需要 3 分钟。

图片添加文字并保存

步骤如下:

  • 读取图片并显示
  • 在指定位置添加文字
  • 调整图窗去掉白边
  • 捕获并保存图片
  • 第一步是从文件读取图片,然后显示出来,代码如下:

    clear allI = imread('cameraman.tif'); imshow(I);

    接下来是在图片上添加文字。为了放在图片中心,一般建议使用坐标的中心点 [m/2, n/2],这里用简单的位置 [30, 30]

    text = '我加入的文字';% 添加文字J = text('Position',[30 30], 'String', text, 'FontSize', 12, 'Color', 'r');

    为了确保添加的文字位于图片的中央,你需要知道图片的尺寸。

    % 获取图片尺寸[m, n] = size(I);

    以下几种方法可以去掉图窗的白边:

    • 也可以简化为 axis off;来去掉坐标轴,移除白边
    • 或者设置图窗的_position属性为可以隐藏白边的范围
    % 调整图窗位置以去除白边set(gcf, 'Position', [0, 0, m, n]);axis off;  % 去掉坐标轴和白边

    现在捕获图窗并保存图片:

    % 拍摄当前图像f = getframe(figure(1));% 保存图片imwrite(f.cdata, 'newphoto.jpg');

    如果图片有白边,说明图窗范围包括了白边。请结合路径或应用进程调整图窗范围:

    % 如图窗有白边,调整图内容范围h = get(gca, 'children');set(h, 'InitialMagnification', 'fit');

    完整的代码如下:

    clear allI = imread('cameraman.tif');imshow(I);J = text('Position', [m/2, n/2], 'String', '我加入的文字', 'FontSize', 12, 'Color', 'r');set(gcf, 'Position', [0, 0, m, n]);axis off;% 或者使用宽松模式imshow(I);axis('off');axis('tight');f = getframe;imwrite(f.cdata, 'newphoto.jpg');

    图片示例:

  • 添加文字后,图片在图窗中显示,完整保存为 newphoto.jpg
  • 去除白边后的图片
  • 转载地址:http://nrsrz.baihongyu.com/

    你可能感兴趣的文章
    Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
    查看>>
    Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
    查看>>
    Mysql 学习总结(89)—— Mysql 库表容量统计
    查看>>
    mysql 实现主从复制/主从同步
    查看>>
    mysql 审核_审核MySQL数据库上的登录
    查看>>
    mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
    查看>>
    mysql 导入导出大文件
    查看>>
    MySQL 导出数据
    查看>>
    mysql 将null转代为0
    查看>>
    mysql 常用
    查看>>
    MySQL 常用列类型
    查看>>
    mysql 常用命令
    查看>>
    Mysql 常见ALTER TABLE操作
    查看>>
    MySQL 常见的 9 种优化方法
    查看>>
    MySQL 常见的开放性问题
    查看>>
    Mysql 常见错误
    查看>>
    mysql 常见问题
    查看>>
    MYSQL 幻读(Phantom Problem)不可重复读
    查看>>
    mysql 往字段后面加字符串
    查看>>
    mysql 快照读 幻读_innodb当前读 与 快照读 and rr级别是否真正避免了幻读
    查看>>