opencv系列-图像清晰度评价
生活随笔
收集整理的這篇文章主要介紹了
opencv系列-图像清晰度评价
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
opencv系列-圖像清晰度評(píng)價(jià)
1,換了opencv3.4,用來(lái)測(cè)試
2,opencv好評(píng)呀
?
圖像清晰度評(píng)價(jià)算法有很多種,在空域中,主要思路是考察圖像的領(lǐng)域?qū)Ρ榷?#xff0c;即相鄰像素間的灰度特征的梯度差;在頻域中,主要思路是考察圖像的頻率分量,對(duì)焦清晰的圖像高頻分量較多,對(duì)焦模糊的圖像低頻分量較多。
?
這里實(shí)現(xiàn)3種清晰度評(píng)價(jià)方法,分別是Tenengrad梯度方法、Laplacian梯度方法和方差方法。
?
Tenengrad梯度方法
Tenengrad梯度方法利用Sobel算子分別計(jì)算水平和垂直方向的梯度,同一場(chǎng)景下梯度值越高,圖像越清晰。以下是具體實(shí)現(xiàn),這里衡量的指標(biāo)是經(jīng)過(guò)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(); }總結(jié)
以上是生活随笔為你收集整理的opencv系列-图像清晰度评价的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Quartz学习资料地址记录 、Quar
- 下一篇: guava 之 ImmutableMap