2个回答
展开全部
直接用矩阵操作就可以了,用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,供你参考。
以上。
专业路过的老狼
例如(时间有限,仅写了灰度图像的一部分):
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 广告
2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于...
点击进入详情页
本回答由东莞大凡提供
展开全部
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函数来大约分区域;
现程序是分割彩色图像,可以把注释换掉就是分割灰色图像;
这个只限于水平分割,可以改进变成上下左右同时分割;
% 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函数来大约分区域;
现程序是分割彩色图像,可以把注释换掉就是分割灰色图像;
这个只限于水平分割,可以改进变成上下左右同时分割;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询