
1、先打开软件后,找到左上角按钮,点击即可用m编辑器,写入代码,可以每写完一部分,执行一下,查看效果。
2、接着需要将该文件保存。
3、然后将一个图片,复制到同一个文件夹里,方便程序调用。
4、然后即可进行程序创建,这里如图使用imread进行读取,其中引号内容有文件名,包括扩展名,这是相对路径。如果程序和图不在同一文件夹,则必须使用图片完整路径。
5、为了实时看到效果,可添加imshow,用于输出,这里添加了此语句,可以显示刚刚读入的彩图。
6、因为输出图片可能较多,可用subplot将其放入一张结果图上,在每个imshow之前,都添加此语句,其中(2,2,1)表示2行2列布置中,第一张图,其他依次类推。
7、这样运行后,结果如图。
8、最后,需将处理的结果进行保存,可以用最后一行imwrite进行,该句中名称可自行设置,格式即扩展名,可不和原图相同,
9、运行之后,如图,即可找到储存的文件。
不知道你为什么要生成第一、二、三列分别表示每个像素的r、g、b值的矩阵,其实matlab自动把三个通道分开是有道理的,处理会很方便,如果你一定要生产你想要的矩阵,可尝试以下几种方法:1.以进制的格式读图片,然后去掉图像的信息头(注意每个格式的头文件包含的字节数都不一样的,以真彩色BMP为例,其头文件有54个字节,去掉着54个字节后就是图像的RGB信息了)
2.第二种会稍微方便些,用imread读图生成一个三维矩阵,然后你新建一个你想要的二维矩阵,把前面得到的RGB信息填充进去
1 图像按编号命名:1.jpg, 2.jpg,....,n.jpg2 循环读图
I=cell(1,n)
for i=1:n
imageName=strcat(num2str(i),'.jpg')
I{i} = imread(imageName)
end
3 处理图像
-----------------------
如果图像很多,那么最好这样,第二步和第三步合并
for i=1:n
imageName=strcat(num2str(i),'.jpg')
I = imread(imageName)
处理当前图像
end
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)