博客
关于我
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通用优化手册
    查看>>
    MYSQL遇到Deadlock found when trying to get lock,解决方案
    查看>>
    MYSQL遇到Deadlock found when trying to get lock,解决方案
    查看>>
    mysql部署错误
    查看>>
    MySQL配置信息解读(my.cnf)
    查看>>
    Mysql配置文件my.ini详解
    查看>>
    MySQL配置文件深度解析:10个关键参数及优化技巧---强烈要求的福利来咯。
    查看>>
    Mysql配置表名忽略大小写(SpringBoot连接表时提示不存在,实际是存在的)
    查看>>
    mysql配置读写分离并在若依框架使用读写分离
    查看>>
    MySQL里为什么会建议不要使用SELECT *?
    查看>>
    MySQL里的那些日志们
    查看>>
    MySQL锁
    查看>>
    MySQL锁与脏读、不可重复读、幻读详解
    查看>>
    MySQL锁机制
    查看>>
    mysql锁机制,主从复制
    查看>>
    Mysql锁机制,行锁表锁
    查看>>
    MySQL锁表问题排查
    查看>>
    Mysql锁(2):表级锁
    查看>>
    MySQL锁,锁的到底是什么?
    查看>>
    MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
    查看>>