用matlab截取图像的一部分?

用matlab截取图像的一部分?,第1张

1、首先打开matlab,在命令行窗口中输入a=[1 5 6 78 12 14 166 3 5 7],创建一个3行4列的a矩阵,如下图所示

2、输入x=find(a>10),找到a数组中大于10的元素的下标,如下图所示。

3、按回车键之后,可以看到找到大于10的元素下标,下标位置是按一列开始数,一列一列数的。

4、输入a(x)=[],将a数组中大于10的元素全部删除,如下图所示。

5、最后按回车键之后,可以看到a数组大于10的元素全部删除了,如下图所示。

直接用矩阵 *** 作就可以了,用imread读取图像,读取的结果在matlab中就是一个矩阵,然后用imwrite把你需要的部分写到新的文件中。

例如(时间有限,仅写了灰度图像的一部分):

I=imread('source.bmp')

n=ndims(I)%获得图像维数,如果是2就是灰度图像,3是彩色图像,需要分别处理

if n==2

[x,y]=size(I)%求图像大小

imwrite(I(1:round(x/4),1:round(y/4)),'file.bmp','bmp')

end

这样就把图像分成4*4,最左上角的图像保存到file.bmp中了。

思路大致如此,手头没有matlab,上班ing,供你参考。

以上。

专业路过的老狼


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12046996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存