W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
在本教程中,您將學(xué)習(xí):
為了將其用作重映射功能,我們必須使H“(i )統(tǒng)一化,使得最大值為255(或圖像的強(qiáng)度的最大值)。從上面的例子,累積函數(shù)是:
最后,我們使用簡單的重新映射程序來獲得均衡圖像的強(qiáng)度值:
#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main( int, char** argv )
{
Mat src, dst;
const char* source_window = "Source image";
const char* equalized_window = "Equalized Image";
src = imread( argv[1], IMREAD_COLOR );
if( src.empty() )
{ cout<<"Usage: ./EqualizeHist_Demo <path_to_image>"<<endl;
return -1;
}
cvtColor( src, src, COLOR_BGR2GRAY );
equalizeHist( src, dst );
namedWindow( source_window, WINDOW_AUTOSIZE );
namedWindow( equalized_window, WINDOW_AUTOSIZE );
imshow( source_window, src );
imshow( equalized_window, dst );
waitKey(0);
return 0;
}
Mat src, dst;
char* source_window = "Source image";
char* equalized_window = "Equalized Image";
src = imread( argv[1], 1 );
if( !src.data )
{ cout<<"Usage: ./Histogram_Demo <path_to_image>"<<endl;
return -1;}
cvtColor( src, src, COLOR_BGR2GRAY );
equalizeHist( src, dst );
因?yàn)榭梢院苋菀椎乜吹?,唯一的參?shù)是原始圖像和輸出(均衡)圖像。
namedWindow( source_window, WINDOW_AUTOSIZE );
namedWindow( equalized_window, WINDOW_AUTOSIZE );
imshow( source_window, src );
imshow( equalized_window, dst );
waitKey(0);
return 0;
順便說一下,這個直方圖:
注意像素圍繞直方圖的中心聚集。
這個形象肯定有更多的對比。查看它的新直方圖,如下所示:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: