天天看點

opencv-直方圖均衡化

圖像進行直方圖均衡化可以增強圖像的對比度效果!!!

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>

using namespace cv;
using namespace std;

int main( int argc, char** argv )
{
  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, CV_BGR2GRAY );

  //應用直方圖均衡化函數
  equalizeHist( src, dst );

  //建立視窗并顯示輸出結果
  namedWindow( source_window, CV_WINDOW_AUTOSIZE );
  namedWindow( equalized_window, CV_WINDOW_AUTOSIZE );

  imshow( source_window, src );
  imshow( equalized_window, dst );

  //等待程式運作結束
  waitKey(0);

  return 0;

}      
opencv-直方圖均衡化