C++ 这里有没有办法用拉普拉斯算子来判断图像是否模糊
我正在从事这个项目,我必须自动计算相机拍摄的图像的清晰度,而不需要实际查看图像。我尝试了许多检测方法,但最后我将使用openCV进一步使用拉普拉斯算子 现在,openCV中的拉普拉斯算子返回图像矩阵。但是,我必须得到布尔输出,不管图像是否模糊,这取决于我的阈值C++ 这里有没有办法用拉普拉斯算子来判断图像是否模糊,c++,opencv,edge-detection,C++,Opencv,Edge Detection,我正在从事这个项目,我必须自动计算相机拍摄的图像的清晰度,而不需要实际查看图像。我尝试了许多检测方法,但最后我将使用openCV进一步使用拉普拉斯算子 现在,openCV中的拉普拉斯算子返回图像矩阵。但是,我必须得到布尔输出,不管图像是否模糊,这取决于我的阈值 任何链接、算法或IEEE论文都会有所帮助。谢谢 你会发现很多信息 如果答案中有一个很有趣的话,也可以引用这篇论文:你会发现很多信息 如果答案中有一个很有趣的话,也可以引用这篇文章:参考这篇文章 Laplacian(灰色,Laplacian
任何链接、算法或IEEE论文都会有所帮助。谢谢 你会发现很多信息
如果答案中有一个很有趣的话,也可以引用这篇论文:你会发现很多信息 如果答案中有一个很有趣的话,也可以引用这篇文章:参考这篇文章
Laplacian(灰色,Laplacian图像,CV_64F);
标量平均值,标准差;//0:1频道、1:2频道和2:3频道
meanstdev(拉普拉斯图像,平均值,stddev,Mat());
双方差=stddev.val[0]*stddev.val[0];
双阈值=2900;
如果(方差参考此
Laplacian(灰色,Laplacian图像,CV_64F);
标量平均值,stddev;//0:1通道、1:2通道和2:3通道
meanstdev(拉普拉斯图像,平均值,stddev,Mat());
双方差=stddev.val[0]*stddev.val[0];
双阈值=2900;
如果(以下差异可能会有帮助,以便您可以/将拍摄多张图像,并选择拍摄最清晰图像的设置?让我们拍摄Galaxy S6。现在,我必须检查S6的对焦性能在一段时间内下降了多少。为此,我必须拍摄同一图像的多张照片,但不能通过眼睛手动拍摄,ra正在使用我的程序。查找“感知锐度度量”(PSM)例如,从yang等人2006年开始,以下内容可能会有所帮助,以便您可以/将拍摄多幅图像,并选择拍摄最清晰图像的设置?让我们拍摄Galaxy S6。现在,我必须检查S6的对焦性能在一段时间内下降了多少。为此,我必须拍摄同一图像的多张照片,但不能拍摄manua通过我的眼睛,而不是使用我的程序,寻找“感知锐度度量”(PSM),例如yang等人2006年的“感知锐度度量”
Laplacian(gray, laplacianImage, CV_64F);
Scalar mean, stddev; // 0:1st channel, 1:2nd channel and 2:3rd channel
meanStdDev(laplacianImage, mean, stddev, Mat());
double variance = stddev.val[0] * stddev.val[0];
double threshold = 2900;
if (variance <= threshold) {
// Blurry
} else {
// Not blurry
}