博客
关于我
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/

    你可能感兴趣的文章
    MSTP是什么?有哪些专有名词?
    查看>>
    Mstsc 远程桌面链接 And 网络映射
    查看>>
    Myeclipse常用快捷键
    查看>>
    MyEclipse用(JDBC)连接SQL出现的问题~
    查看>>
    myeclipse的新建severlet不见解决方法
    查看>>
    MyEclipse设置当前行背景颜色、选中单词前景色、背景色
    查看>>
    myeclipse配置springmvc教程
    查看>>
    MyEclipse配置SVN
    查看>>
    MTCNN 人脸检测
    查看>>
    MyEcplise中SpringBoot怎样定制启动banner?
    查看>>
    MyPython
    查看>>
    MTD技术介绍
    查看>>
    MySQL
    查看>>
    MySQL
    查看>>
    mysql
    查看>>
    MTK Android 如何获取系统权限
    查看>>
    MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
    查看>>
    MySQL - ERROR 1406
    查看>>
    mysql - 视图
    查看>>
    MySQL - 解读MySQL事务与锁机制
    查看>>