matlab histeq函数做直方图规定化
如题做直方图规定化的时候谁能解释一下histeq(I,hgram)中的hgram参数,是怎么调整直方图的...
如题 做直方图规定化的时候 谁能解释一下histeq(I,hgram)中的hgram参数,是怎么调整直方图的
展开
3个回答
展开全部
严格一点来说,直方图均衡化和直方图规定化是不同的概念。histeq是用来做直方图均衡的。
hgram是均衡化后的灰度级个数。
比如histeq(I, 16),就是希望均衡化后的直方图只有16个灰度级;
histeq(I, 64),就是希望均衡化后的直方图只有64个灰度级。
假设原始图像为256级,共有X个像素,现希望均衡化为N个灰度级,过程如下:
步骤1:计算原始图像I的累积函数A(g),其中g=[0,255]表示256个灰度级。
A(0)就是灰度级为0的元素个数;
A(1)就是灰度级为0和1的元素个数和;
A(2)就是灰度级为0、1和2的元素个数和;
...依次类推...;
A(255)就是X,即原始图像的总的像素个数。
步骤2:计算原始直方图和均衡化后直方图的映射关系g->G,即将原始图像中的灰度值g变成新的灰度值G。
这里,G=N*A(g)/X
步骤3:遍历原始图像I,依据步骤2中的映射关系,把所有像素点的灰度值变成新的灰度值,完毕。
hgram是均衡化后的灰度级个数。
比如histeq(I, 16),就是希望均衡化后的直方图只有16个灰度级;
histeq(I, 64),就是希望均衡化后的直方图只有64个灰度级。
假设原始图像为256级,共有X个像素,现希望均衡化为N个灰度级,过程如下:
步骤1:计算原始图像I的累积函数A(g),其中g=[0,255]表示256个灰度级。
A(0)就是灰度级为0的元素个数;
A(1)就是灰度级为0和1的元素个数和;
A(2)就是灰度级为0、1和2的元素个数和;
...依次类推...;
A(255)就是X,即原始图像的总的像素个数。
步骤2:计算原始直方图和均衡化后直方图的映射关系g->G,即将原始图像中的灰度值g变成新的灰度值G。
这里,G=N*A(g)/X
步骤3:遍历原始图像I,依据步骤2中的映射关系,把所有像素点的灰度值变成新的灰度值,完毕。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
对于double型图像,hgram的各元素值域为[0,1];而对于uint8型图像,hgram的各元素的取值范围为[0,255]。J=histeq(I,n)指定直方图化后的灰度等级数n,默认值为64。
例 给出直方图均衡化增强图像对比度的MATLAB 程序。
I=imread('lena.bmp');
J=histeq(I);%对原图像进行直方图均衡化处理
imshow(I);title('原图像');
figure,imshow(J);
figure,subplot(1,2,1);
imhist(I,64);title('原图像');
subplot(1,2,2);
imhist(J,64);title('均衡化之后的图像')
建议用默认的参数就可以。
例 给出直方图均衡化增强图像对比度的MATLAB 程序。
I=imread('lena.bmp');
J=histeq(I);%对原图像进行直方图均衡化处理
imshow(I);title('原图像');
figure,imshow(J);
figure,subplot(1,2,1);
imhist(I,64);title('原图像');
subplot(1,2,2);
imhist(J,64);title('均衡化之后的图像')
建议用默认的参数就可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%下面利用直方图规定化对图像进行增强:
I=imread('loufang.jpg');
subplot(141),imshow(I);
title('原始图像');
hgram=50:1:250; %规定化函数
J=histeq(I,hgram);
subplot(142),imshow(J);
title('直方图规定化后的图像');
subplot(143),imhist(I,64);
title('原始图像的直方图');
subplot(144),imhist(J,64);
title('直方图规定化后的直方图');
%运行结果:
%变换灰度间隔后的图像和直方图:
%hgram=50:1:250; hgram=50:5:250;
I=imread('loufang.jpg');
subplot(141),imshow(I);
title('原始图像');
hgram=50:1:250; %规定化函数
J=histeq(I,hgram);
subplot(142),imshow(J);
title('直方图规定化后的图像');
subplot(143),imhist(I,64);
title('原始图像的直方图');
subplot(144),imhist(J,64);
title('直方图规定化后的直方图');
%运行结果:
%变换灰度间隔后的图像和直方图:
%hgram=50:1:250; hgram=50:5:250;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询