1. 程式人生 > >影象模糊度判斷方法--相機對焦使用

影象模糊度判斷方法--相機對焦使用

在時域中,主要思路是考察影象的領域對比度,即相鄰畫素間的灰度特徵的梯度差,梯度函式常被用來提取邊緣資訊,聚焦良好的影象,具有更尖銳的邊緣,應有更大的梯度函式值。
在頻域中,主要思路是考察影象的頻率分量,對焦清晰的影象高頻分量較多,對焦模糊的影象低頻分量較多。通過dct比較。Dct分離出的低頻訊號比較,模糊圖片細節少,所以dct更低。
sobel 梯度與拉普拉斯梯度

#include <highgui/highgui.hpp>  
#include <imgproc/imgproc.hpp>  

using namespace std;  
using namespace
cv; int main() { Mat imageSource = imread("2.jpg"); Mat imageGrey; cvtColor(imageSource, imageGrey, CV_RGB2GRAY); Mat imageSobel; Sobel(imageGrey, imageSobel, CV_16U, 1, 1); // sobel 梯度 // Laplacian(imageGrey, imageSobel, CV_16U); 拉普拉斯梯度 //影象的平均灰度 double
meanValue = 0.0; meanValue = mean(imageSobel)[0]; }

影象方差

 #include <highgui/highgui.hpp>  
#include <imgproc/imgproc.hpp>  
using namespace cv;  
int main()  
{  
    Mat imageSource = imread("2.jpg");  
    Mat imageGrey;  

    cvtColor(imageSource, imageGrey, CV_RGB2GRAY);  
    Mat meanValueImage;  //均值
Mat meanStdValueImage; //標準差 //求灰度影象的標準差 meanStdDev(imageGrey, meanValueImage, meanStdValueImage); double meanValue = 0.0; meanValue = meanStdValueImage.at<double>(0, 0); waitKey(); }