通过改变像素来缩小图片

img=imread('D:\pictures\lena1.jfif');%读入原彩色图像
imshow(img);%展现图像
%这个功能相当于把图片缩小,不同于裁剪,而是根据规定步长进行像素点的取舍
img_256=img(1:2:end,1:2:end);
%各一行取一列,步长为2,图的大小为256
%(取的第一个像素点是1,第二个是1+2=3,以此类推)
figure,imshow(img_256);
img_128=img(1:4:end,1:4:end);
figure,imshow(img_128);

提问:不知道为什么运行出来是三个并列的图片,应该是一个呀?

通过改变像素来缩小图片通过改变像素来缩小图片通过改变像素来缩小图片

img=imread('D:\pictures\lena1.jfif');%读入原彩色图像
imshow(img);%展现图像
%只保留三个像素值,<100的像素置为0,100<= <200的置为150,>200的置为255
img_3=img;
%legth=find(img<100);%(函数find找具体点的位置)找所有大于100的像素值,运行结果非常多
%[row col]=find(img<100);%同上,但是改为用二维数组保存,这样运行结果较少
img_3(img_3<100)=0;
img_3((img_3>=100)&(img_3<200))=150;
img_3(img_3>=200)=255;
figure,imshow(img_3);

通过改变像素来缩小图片
Ps:日常学习记录,随着日后的学习再来补充

上一篇:latex


下一篇:如何重置matplotlib动画而不重新运行脚本