写报告,论文的时候有没有遇到过纸质材料上看到一张示意图说明效果很好(图1a所示),自己重新作图又比较耗时,但拍照或扫描的质量又比较差;或者网上找到的图片有水印(图2a所示),不能直接使用的情况?学习Photoshop等图片处理软件还不如直接重新作图!
最近学习MATLAB图片处理,小有所获,本着互联网时代的共享精神,把MATLAB源码及说明附录如下。本想用C或C++再写个小程序方便没有安装MATLAB软件的电脑使用,但细一思量,工作量还是蛮大,待以后有志同道合的朋友再一起搞一下吧。
MATLAB源码:
clc
clear;
InputName=input('n请输入要处理的图片名,例如der9t.jpg','s');
ImageExt='jpg';
A=imread(InputName,ImageExt);
A=im2double(A);
A(find(A>0.8))=1;
NewA=im2uint8(A);
OutputName=input('n请输入处理后的图片名,例如der9t_10.jpg','s');
imwrite(NewA,OutputName);
imshow(OutputName)
简要说明:
在计算机中,文字,声音,图片等等所有的信息都是数据,图片就是一个二维(灰度图)或三维(RGB三色)的矩阵数据。我们看到的不同颜色只是数据不同而已。本程序功能比较单一,对于色差比较明显的图片处理效果会比较好,图中黑色部分的数据和背景数据差别还是很大的。处理过程如下:
1. 将图片导入到MATLAB中,存储到矩阵A中;
2. 自己估摸一个阈值,阈值以上(或以下)的数据置0或置1即可。
对,就这么简单~~~
图1 a 扫描或拍照的图片
图1 b 处理后图片
图2 a 网上有水印的图片
图2 b 程序处理后图片
转载本文请联系原作者获取授权,同时请注明本文来自冯竟超科学网博客。
链接地址:https://wap.sciencenet.cn/blog-2470687-877775.html?mobile=1
收藏