怎么用matlab改变图像的分辨率
I=imread('lena.jpg');imshow(I);fori=1:512forj=1:512R(i,j)=I(i,j);endendR1=R;fori=1:25...
I=imread('lena.jpg');
imshow(I);
for i=1:512
for j=1:512
R(i,j)=I(i,j);
end
end
R1=R;
for i=1:256
for j=1:512
R1(i*2,j)=R(i*2-1,j);
end
end
for i=1:512
for j=1:256
R1(i,j*2)=R(i,j*2-1);
end
end
figure;
imshow(R1);
这段代码中 for循环的内容如何理解,R1(i*2,j)=R(i*2-1,j);不明白。。。 展开
imshow(I);
for i=1:512
for j=1:512
R(i,j)=I(i,j);
end
end
R1=R;
for i=1:256
for j=1:512
R1(i*2,j)=R(i*2-1,j);
end
end
for i=1:512
for j=1:256
R1(i,j*2)=R(i,j*2-1);
end
end
figure;
imshow(R1);
这段代码中 for循环的内容如何理解,R1(i*2,j)=R(i*2-1,j);不明白。。。 展开
3个回答
东莞大凡
2024-11-14 广告
2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于...
点击进入详情页
本回答由东莞大凡提供
展开全部
这个程序改变分辨率是在图像大小不变的情况下通过将邻近两行或者两列的像素值相等来实现的,
R1(i*2,j)=R(i*2-1,j);是将原图的奇数行的 像素值赋给欧偶数行
R1(i,j*2)=R(i,j*2-1);是将奇数列的像素值赋给偶数列,这样就实现了相邻行或列像素值相等,减小了分辨率,这个程序感觉还有点问题,但应该是这个思路
R1(i*2,j)=R(i*2-1,j);是将原图的奇数行的 像素值赋给欧偶数行
R1(i,j*2)=R(i,j*2-1);是将奇数列的像素值赋给偶数列,这样就实现了相邻行或列像素值相等,减小了分辨率,这个程序感觉还有点问题,但应该是这个思路
更多追问追答
追问
分辨率是单位尺寸长度内的象素数目
那么 虽然相邻行或列像素值相等,但是像素数目还是没有变化,为什么分辨率就减小了呢
追答
程序里面其实只给偶数行和列赋值了 奇数航和列是什么都没有的 分辨率指的是密度而非图像大小 所以相当于在同样尺寸上 像素数减少了一半 分辨率也降低了一半
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询