opencv 시리즈 - 이미지 선명 도 평가

1722 단어 Opencv
opencv 시리즈 - 이미지 선명 도 평가
1. opencv 3.4 를 바 꾸 어 테스트 합 니 다.
2, opencv 호평
 
이미지 선명 도 평가 알고리즘 은 여러 가지 가 있 는데 공역 에서 주요 한 사 고 는 이미지 의 영역 대비 도, 즉 인접 픽 셀 간 의 그 레이스 케 일 특징의 경사도 차 이 를 고찰 하 는 것 이다.주파수 영역 에서 주요 한 사 고 는 이미지 의 주파수 분량 을 고찰 하 는 것 이다. 초점 이 뚜렷 한 이미지 의 고주파 분량 이 비교적 많 고 초점 이 모호 한 이미지 의 저주파 분량 이 비교적 많다.
 
여기 서 3 가지 선명 도 평가 방법 을 실현 하 는데 그것 이 바로 Tenengrad 경사도 방법, Laplacian 경사도 방법 과 분산 방법 이다.
 
Tenengrad 경사도 방법
Tenengrad 경사도 방법 은 Sobel 연산 자 를 이용 하여 수평 과 수직 방향의 경사도 를 각각 계산 하고 같은 장면 에서 경사도 가 높 을 수록 이미지 가 선명 합 니 다.다음은 구체 적 인 실현 이다. 여기 서 평가 하 는 지 표 는 Sobel 연산 자 처 리 를 거 친 이미지 의 평균 그 레이스 케 일 값 으로 값 이 클 수록 이미지 가 뚜렷 하 다 는 것 을 의미한다.
opencv 3.4 와 qt 후의 코드 를 사용 합 니 다.
#include 
#include 
#include 
#include 
#include 
#include 
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();
}

좋은 웹페이지 즐겨찾기