直方图匹配

定义

直方图匹配也叫直方图规定化(Histogram Matching/Normalization)
通俗的理解:相比于均衡化,它是用原图自带的灰度信息进行重新分布,可以说原图确定了之后均衡化也就定了。但是在有些场合,用均衡化达不到想要的效果,需要使用某种特定分布的直方图,让新生成的图按照指定直方图的分布规律进行重新匹配,使两幅图具有类似的色温或者对比度特征,这就叫做直方图匹配。
实现原理
1、把原图和匹配图都均衡化,并得到匹配图逆均衡化的对应关系。
2、由于都是均衡化,可以理解为相等,所以把原图均衡化后的点,按照匹配图的逆均衡化对应关系,得到结果图。
如果用 T(r) G(z) 分别表示原图和匹配图的均衡化变换函数。那么结果可以表示为:
z=G1[T(r)]

代码实现

OpenCV库中也有相关的函数来实现直方图统计和均衡化等。
这里为了明确的验证规定化的具体实现原理,笔者使用最笨的方法来实现。

灰度图的直方图匹配
#include <cv.h>
#include <highgui.h>

using namespace cv;

// show histogram of grey image with sticks or continuous curve
void myShowHist(int *psrccnt,string winname,int style=0, int rows=400,int cols=512)
{
    Mat hist(rows,cols,CV_8UC3,Scalar(188,188,188));

    int maxcnt=psrccnt[0];
    for(int i=0; i<=255; i++){
        if(psrccnt[i]>maxcnt) maxcnt=psrccnt[i];
    }

    int lineType = 8;
    if(style==0) { //sticks
        int thickness = 1;
        for(int i=0; i<=255; i++){
            if(psrccnt[i]!=0){
                line(hist,
                    Point((int)((float)i*(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中的直方图匹配是一种图像处理技术,用于将一个图像的直方图与另一个图像的直方图进行匹配,以实现图像增强或图像转换的目的。在Matlab中,可以使用imhist和histeq函数来实现直方图匹配。 具体步骤如下: 1. 首先,使用imread函数读取原始图像和匹配图像。 2. 使用imhist函数计算匹配图像的直方图。 3. 使用histeq函数,将原始图像的直方图与匹配图像的直方图进行匹配,得到匹配后的图像。 4. 使用imshow函数显示原始图像、匹配图像和匹配后的图像。 5. 使用imhist函数分别计算原始图像、匹配图像和匹配后图像的直方图。 6. 使用subplot函数将原始图像、匹配图像和匹配后图像的直方图分别显示在一个图像窗口中。 在Matlab中,可以使用以下代码实现直方图匹配: ```matlab I = imread('lena.bmp'); % 读取原始图像 Imatch = imread('face.bmp'); % 读取匹配图像 Jmatch = imhist(Imatch); % 获取匹配图像的直方图 Iout = histeq(I, Jmatch); % 直方图匹配 % 显示原始图像、匹配图像和匹配后的图像 figure; subplot(1,3,1),imshow(I);title('原图像'); subplot(1,3,2),imshow(Imatch);title('匹配图像'); subplot(1,3,3),imshow(Iout);title('匹配之后图像'); % 显示原始图像、匹配图像和匹配后图像的直方图 figure; subplot(3,1,1),imhist(I,64);title('原图像直方图'); subplot(3,1,2),imhist(Imatch,64);title('匹配图像直方图'); subplot(3,1,3),imhist(Iout,64);title('匹配之后图像直方图'); ``` 这段代码首先使用imread函数读取了原始图像和匹配图像。然后,使用imhist函数计算匹配图像的直方图。接着,使用histeq函数将原始图像的直方图与匹配图像的直方图进行匹配,得到匹配后的图像。最后,使用imshow和imhist函数分别显示原始图像、匹配图像和匹配后图像的直方图。 通过这种方法,我们可以实现图像的直方图匹配,从而改善图像的对比度和细节。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值