您的位置:首页 > 编程语言 > MATLAB

【matlab】:matlab如何实现切分图片并保存?

2016-03-18 16:48 375 查看
这个问题的答案是非常简单的,只需要用到几个非常简单的函数,其中函数如下几个:

imread 读入函数

imwrite 写入函数,把图形变量保存为图片

先说我要弄的图片如下:



我想把其中的第一行第二个黑色的圆形粗略的给折腾出来,这需要怎么做,这就是我需要解决的问题。

第一步:*读入图片*

I = imread(‘d:\测试.jpg’);

注意,图片我起的名字是测试.jpg,并且是放在d盘下面的。这样就能把整个图片的信息存储进I这个变量里面去了,我们可以看下I的要素



是个220*220*3的数学矩阵

然后使用imshow(I),通过这样能够把图片显示出来,并且我们能够得到各个点的x,y坐标

imshow(I);出现如下效果



点击那个带加好的按钮,然后再图片上任意点击

得到一些数据



x,y代表着像素坐标,这样我们得到各个点的像素坐标后,把这部分给隔离出来就行。

第二步:隔离

我选好的这张图片的x坐标是从75 到142,y坐标是从10到66

所以我们重新设立一个变量接住这部分像素内的数据就行

B = I(75:142,10:66); //这样B里面就保存了我想要的图片的数据

imshow(B); 这样就能显示出我想要的图片

然后imwrite(B,’d:\测试结果数据.jpg’);

这样的话我想要的部分的图片数据就成为d盘下的一张图片



大功告成!

完整代码:

I = imread('d:\\测试.jpg');
imshow(I);
B = I(75:142,10:66);
imshow(B);
imwrite(B,'d:\\b.jpg');
imshow(I);


代码很短的,简单来说就是找到想要的数据的x,y范围,然后通过imwrite函数写入即可

如果您觉得这个文章对您有帮助,点个赞,谢谢~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: