[OpenCV] 이미지 흐림 감지

1534 단어 OpenCV
프로젝트 중의 한 부분에서 모호한 검측과 관련된 내용을 사용했다
주요 사상은 먼저 원 이미지를 회도화한 다음에 3x3의 라프라스 산자로 필터 처리를 하는 것이다
처리 후 이미지의 균일치와 방차를 계산하고 방차를 모호 검측의 한도값 선정 기준으로 삼으면 된다.
관련 절차는 다음과 같습니다.
#include 
#include 
#include 
#include 

using namespace cv;
using namespace std;

bool blurDetect(Mat srcImage);

int main()
{
	//    
	Mat img1 = imread("white1_1.bmp");

	double time = (double)getTickCount();
	bool flag = blurDetect(img1);
	time = ((double)getTickCount() - time) / getTickFrequency();
	cout << "     :" << time << "s" << endl;
	system("pause");
	return 0;
}

//    ,          ,  0,    1
bool blurDetect(Mat srcImage)
{

	Mat gray1;
	if (srcImage.channels() != 1)
	{
		//     
		cvtColor(srcImage, gray1, CV_RGB2GRAY);
	}
	else
	{
		gray1 = srcImage.clone();
	}
	Mat tmp_m1, tmp_sd1;	//         
	double m1 = 0, sd1 = 0;
	//  3x3 Laplacian      
	Laplacian(gray1, gray1, CV_16S, 3);
	//  0~255
	convertScaleAbs(gray1, gray1);
	//       
	meanStdDev(gray1, tmp_m1, tmp_sd1);
	m1 = tmp_m1.at(0, 0);		//  
	sd1 = tmp_sd1.at(0, 0);		//   
	//cout << "   :" << endl;
	cout << "  : " << m1 << " ,   : " << sd1*sd1 << endl;
	if (sd1*sd1 < 400)
	{
		cout << "        " << endl;
		return 0;
	}
	else
	{
		cout << "        " << endl;
		return 1; 
	}
}

좋은 웹페이지 즐겨찾기