MATLAB如何切割图像

我想把一幅图切成3*3或者4*4,分别储存,请问如何实现?谢谢... 我想把一幅图切成3*3或者4*4,分别储存,请问如何实现?

谢谢
展开
 我来答
wolfccb
推荐于2017-11-23 · TA获得超过658个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:347万
展开全部
直接用矩阵操作就可以了,用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,供你参考。

以上。
专业路过的老狼
东莞大凡
2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于... 点击进入详情页
本回答由东莞大凡提供
Sun丶亦会放光
2019-03-20
知道答主
回答量:2
采纳率:0%
帮助的人:778
展开全部
g=imread('XX.png');
% g=rgb2gray(g);
g1=g(:,1:1520,:);%g1=g(:,1:1520);
g2=g(:,1521:end,:);%g2=g(:,1521:end);
imwrite(g1,'left.png');
imwrite(g2,'right.png');
1520是我图像的大小 因为我分图要求细一点,也可以用round函数来大约分区域;
现程序是分割彩色图像,可以把注释换掉就是分割灰色图像;
这个只限于水平分割,可以改进变成上下左右同时分割;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式