数字图像处理——matlab实现 图像灰度等级化(2个等级,4个等级,8个等级,16个等级,32个等级,64个等级,128个等级的灰度图)

图像灰度等级化相关知识读者可以自行百度,本篇文章只放matlab的实现代码。

在做这个实验时,在网上没有找到好用的代码,自己后来试了一些他人的方法,最后修改完善得到了该篇文章的代码,希望有所帮助。

My = imread('E:\informt\lesson\数字图像处理与安全\图像集\Fruit.bmp'); %读取图像
MyGrayPic = rgb2gray(My); 

%灰度图像等级化
hold on;
figure(6);
subplot(2,4,1);
imshow(MyGrayPic);
title("256灰度级")
for i = 1:7
    subplot(2,4,i+1);
    huiduhua(MyGrayPic,2^i);
    title(2^i+"灰度级");
end
 
%灰度图像等级化函数
function huiduhua(img, rank)
    m = 256/rank;
    img = double(img);
    img = floor((img+1)/m);
    img = uint8(img)*(255/rank);
    imshow(img)
end

运行结果:

数字图像处理——matlab实现 图像灰度等级化(2个等级,4个等级,8个等级,16个等级,32个等级,64个等级,128个等级的灰度图)_第1张图片

 

 

你可能感兴趣的:(实验报告,图像处理,MATLAB,图像处理,灰度等级化,RGB转灰度,代码实现)