用matlab怎样裁剪图像
答案:2 悬赏:70
解决时间 2021-03-21 14:44
- 提问者网友:我是我
- 2021-03-20 23:26
在matlab软件里怎样把一幅384X512的图像截取成152X144的图像呢?
最佳答案
- 二级知识专家网友:堕落奶泡
- 2021-03-21 00:37
这是我的邮箱,你把图片发过来我给你弄好,把源程序和图像再发给你。挺简单的,就是矩阵的大小问题。[email protected]
全部回答
- 1楼网友:疯山鬼
- 2021-03-21 00:59
close all;
clc;
clear;
file_path = 'd:\input\';
img_path_list = dir(strcat(file_path,'*.jpg'));
img_num = length(img_path_list);
if img_num > 0
for j = 1:img_num
image_name = img_path_list(j).name;
image = imread(strcat(file_path,image_name));
if image(400,360)==0
for ii=1:600
for jj=1:599
imag(ii,jj,:)=image(ii+419,jj+60,:);
end
end
imwrite(imag,['d:\output1' , '\', 'mm' num2str(j) '.jpg']);
elseif image(350,360)==0
for ii=1:636
for jj=1:716
imag(ii,jj,:)=image(ii+360,jj+2,:);
end
end
imwrite(imag,['d:\output2' , '\', 'mm' num2str(j) '.jpg']);
else
imag=image;
imwrite(imag,['d:\output3' , '\', 'mm' num2str(j) '.jpg']);
end
end
end
另外不知道楼主判断语句image(350,360)==0和image(400,360)==0试想判断像素点是否是黑色只想判断r分量是否是0,如果是前者需要改代码如下:
if image(400,360,1)==0&&image(400,360,2)==0&&image(400,360,3)==0
elseif同理。。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯