Image and Video Processing------Week1编程作业

编写一个计算机程序,该程序能够以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

原文地址:https://www.cnblogs.com/lizhe-cnblogs/p/12321850.html