OpenCV C++ 06 - Histogram Equalization of a Grayscale image with OpenCV
生活随笔
收集整理的這篇文章主要介紹了
OpenCV C++ 06 - Histogram Equalization of a Grayscale image with OpenCV
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
直方圖均衡化是圖像處理領域中利用圖像直方圖對對比度進行調整的方法。直方圖均衡化處理的“中心思想”是把原始圖像的灰度直方圖從比較集中的某個灰度區間變成在全部灰度范圍內的均勻分布。
這種方法對于背景和前景都太亮或者太暗的圖像非常有用,這種方法的一個主要優勢是它是一個是可逆操作,如果已知均衡化函數,那么就可以恢復原始的直方圖,并且計算量也不大。這種方法的一個缺點是它對處理的數據不加選擇,它可能會增加背景噪聲的對比度并且降低有用信號的對比度。
Code
/* 作者:鄭大峰 時間:2019年09月20日 環境:OpenCV 4.1.1 + VS2017 內容:Histogram Equalization of a Grayscale image with OpenCV */#include "pch.h" #include <iostream> #include <opencv2/opencv.hpp>using namespace std; using namespace cv;int main() {Mat image = imread("Unequalized_Hawkes_Bay_NZ.jpg");if (image.empty()){cout << "Could not open or find the image" << endl;cin.get();return -1;}//change the color image to grayscale imagecvtColor(image, image, COLOR_BGR2GRAY);//equalize the histogramMat hist_equalized_image;equalizeHist(image, hist_equalized_image);//Define names of windowsString windowNameOfOriginalImage = "Original Image";String windowNameOfHistogramEqualized = "Histogram Equalized Image";// Create windows with the above namesnamedWindow(windowNameOfOriginalImage, WINDOW_NORMAL);namedWindow(windowNameOfHistogramEqualized, WINDOW_NORMAL);// Show images inside created windows.imshow(windowNameOfOriginalImage, image);imshow(windowNameOfHistogramEqualized, hist_equalized_image);waitKey(0); // Wait for any key strokedestroyAllWindows(); //destroy all open windowsreturn 0; }Result
轉載于:https://www.cnblogs.com/zdfffg/p/11558395.html
總結
以上是生活随笔為你收集整理的OpenCV C++ 06 - Histogram Equalization of a Grayscale image with OpenCV的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV C++ 05 - Cha
- 下一篇: OpenCV C++ 07 - His