转换为不同灰度级图像
2017-10-29 20:48
549 查看
将256级灰度图像转换为64级灰度图像、32级灰度图像等。
matlab代码:
效果:
注意:
使用imshow()显示不同灰度级时,要使用imshow(I,[low,high])格式,否则无法正确显示图片内容。对于uint8类型图像默认显示范围取【0,255】,对于double类型图像默认显示范围【0,1】
测试:
效果:
可以看到,
设置了灰度范围的图像,对于超出imshow规定范围的像素点,matlab将其设置为最高灰度值(对应颜色条的白色)。
imshow(I,[])表示自动选图像中min,max像素值为界限。等同于imshow(I,[min,max])
matlab代码:
I = imread('cameraman.tif'); [m,n]=size(I); J=zeros(m,n); for i=1:m for j=1:n J(i,j)=floor(I(i,j)/32); end end K=uint8(J); subplot(131) imshow(I);title('原图');colorbar subplot(132) imshow(K,[0,7]);title('8级灰度');colorbar J=zeros(m,n); for i=1:m for j=1:n J(i,j)=floor(I(i,j)/8); end end K=uint8(J); subplot(133) imshow(K,[0,31]);title('32级灰度');colorbar
效果:
注意:
使用imshow()显示不同灰度级时,要使用imshow(I,[low,high])格式,否则无法正确显示图片内容。对于uint8类型图像默认显示范围取【0,255】,对于double类型图像默认显示范围【0,1】
测试:
clear; I=zeros(256,1);%构造0-255个灰度带的灰度渐变的方形图 for i=1:255 J=floor(i.*ones(256,1)); I=cat(2,I,J); end Iint=uint8(I); subplot(131) imshow(Iint);title('imshow默认灰度范围');colorbar subplot(132) imshow(Iint,[0,255]);title('imshow256级灰度范围');colorbar subplot(133) imshow(Iint,[0,127]);title('imshow128级灰度范围');colorbar
效果:
可以看到,
设置了灰度范围的图像,对于超出imshow规定范围的像素点,matlab将其设置为最高灰度值(对应颜色条的白色)。
imshow(I,[])表示自动选图像中min,max像素值为界限。等同于imshow(I,[min,max])
相关文章推荐
- OpenCV中图像不同定义类型间的转换
- 彩色图像与灰度图像转换的程序设计
- vc将彩色图像转换为灰度图像
- YV12 转换为 灰度图像 ,利用opencv进行二次开发
- 彩色模型和彩色图像转换为灰度图像
- 彩色图像转换为灰度图像
- OpenCV中如何载入图像并且转换成灰度显示图像直方图
- MATLAB转换TXT中灰度值数据格式,将灰度数据输出为图像
- C#将RGB图像转换为8位灰度图像
- OpenCV 读RGB图像然后转换成灰度并保存成灰度图
- 彩色图像与灰度图像之间的转换
- RGB彩色图像与灰度图像转换 opencv实现 代码及分析
- openCV彩色图像转换为灰度图像
- 【Matlab】将彩色图像转换为灰度图像
- 两个openCV补充函数。用于不同位数图像之间转换的。。
- C#将RGB图像转换为8位灰度图像
- matlab 图像灰度值变换至指定范围,求转换方程
- C++ OpenCV 实现RGB彩色图像转化成灰度图像再转换成二值图像
- opencv实现图像的灰度转换,均值滤波,实现图像的显示和存储
- 灰度图像转换为彩色