opencv系列-图像清晰度评价
生活随笔
收集整理的這篇文章主要介紹了
opencv系列-图像清晰度评价
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
opencv系列-圖像清晰度評價
1,換了opencv3.4,用來測試
2,opencv好評呀
?
圖像清晰度評價算法有很多種,在空域中,主要思路是考察圖像的領域對比度,即相鄰像素間的灰度特征的梯度差;在頻域中,主要思路是考察圖像的頻率分量,對焦清晰的圖像高頻分量較多,對焦模糊的圖像低頻分量較多。
?
這里實現3種清晰度評價方法,分別是Tenengrad梯度方法、Laplacian梯度方法和方差方法。
?
Tenengrad梯度方法
Tenengrad梯度方法利用Sobel算子分別計算水平和垂直方向的梯度,同一場景下梯度值越高,圖像越清晰。以下是具體實現,這里衡量的指標是經過Sobel算子處理后的圖像的平均灰度值,值越大,代表圖像越清晰。
用的是opencv3.4和qt后的代碼:
#include <QCoreApplication> #include <opencv/cv.h> #include <opencv2/opencv.hpp> #include <iostream> #include <highgui/highgui.hpp> #include <imgproc/imgproc.hpp> using namespace std; using namespace cv; int main(int argc, char *argv[]) {Mat imageSource = imread("C:/Users/Administrator/Desktop/test.jpg");Mat imageGrey;cvtColor(imageSource,imageGrey,CV_RGB2GRAY);Mat imageSobel;Sobel(imageGrey,imageSobel,CV_16U,1,1);double meanValue = 0.0;meanValue = mean(imageSobel)[0];stringstream meanValueStream;string meanValueString;meanValueStream << meanValue;meanValueStream >> meanValueString;meanValueString = "Articulation (Sobel Method): "+meanValueString;putText(imageSource,meanValueString,Point(20,50),CV_FONT_HERSHEY_COMPLEX,0.8,Scalar(255,255,25),2);imshow("Articulation",imageSource);QCoreApplication a(argc, argv);return a.exec(); }總結
以上是生活随笔為你收集整理的opencv系列-图像清晰度评价的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Quartz学习资料地址记录 、Quar
- 下一篇: guava 之 ImmutableMap