【数字图像处理】直方图均衡化

it2022-05-21  74

绘制直方图

1.出错代码(没有意识到图片是彩色的要转换为灰度二维)

clc;close all;clear all; image=imread('ufo.jpg'); img=imhist(image,25); horz=linspace(0,255,25); bar(horz,img)

2.正确代码

clc;close all;clear all; image=imread('ufo.jpg'); image=rgb2gray(image); %灰度 img=imhist(image,25); %是直方图容器数目 horz=linspace(0,255,25); %行向量 bar(horz,img)

 或者直接imhist(image)图就出来了。

直方图均衡

使用matlab工具箱histeq,g=histeq(f,nlev),nlev为灰度级数。

 

clc;close all;clear all; image=imread('ufo.jpg'); image=rgb2gray(image); g=histeq(image,256); subplot(2,2,1) imshow(image); title('原图'); subplot(2,2,2) imhist(image); title('直方图'); subplot(2,2,3); imshow(g); title('均衡后'); subplot(2,2,4) imhist(g); title('直方图均衡');

 

均衡实质是归一化直方图累加求和,还可以用

hnorm=imhist(image)./numel(image); cdf=cumsum(hnorm); x=linspace(0,1,256); plot(x,cdf)

  

 

 

转载于:https://www.cnblogs.com/tenderwx/p/6574614.html

相关资源:数字图像处理-均衡化

最新回复(0)