编写一个计算机程序,该程序能够以2的整数次幂将图像中的强度级别数从256减少到2,所需的强度级别数需要作为程序的变量输入
%编写一个计算机程序 %该程序能够以2的整数次幂将图像中的强度级别数从256减少到2 %所需的强度级别数需要作为程序的变量输入 %分析:强度级别指的是灰度级,灰度级数k,k=2^b,称该图像为b比特图像 %该题的意思是根据b来改变灰度级, function change_bit_to_change_huiduji(img_path,reduce_factor) f = imread(img_path); if reduce_factor<0 reduce_factor = 0; else if reduce_factor>8 reduce_factor = 8; end end dfactor = uint8(2^reduce_factor);%dfactor表示灰度级,reduce_factor表示图像的位数 f_ = (f/dfactor)*dfactor; %当reduce_factor为8时,即8bit图像。(f/dfactor)*dfactor只有两个结果,0或者1; %当reduce_factor为7时,dfactor=128,f/dfactor会出现0,1,再乘以128, %举个例子:255/128=1,1*128=128,实现了255->128的转变,降低了灰度级
end
图像灰度级变化
灰度图像是一种具有从黑到白256级灰度色阶或等级的单色图像。该图像中的每个像素用8位数据表示,因此像素点值介于黑白间的256种灰度中的一种。该图像只有灰度等级,而没有颜色的变化。
灰度即色阶或灰阶,又称中间色调,是指亮度的明暗程度。图像灰度级指图像中的色度分量亮度的最大值与最小值之差的级别,级数越多,图像亮度范围就越丰富,图像质量越好,反之,级数越少时图像质量越差。当图像只有2个灰度色阶时,称之为二值图像。
给定图像的灰度级数以2的幂次方从256减少到2,所采用量化方法为:
灰度级数=(原灰度级数 / 量化级数)* 量化级数
灰度级由256--->128时
reduce_factor = 7,此时dfactor = 2^7=128;
f/factor=(0,1),即0-127范围内的灰度值变换为0,128-255的灰度值变换为128