OpenCV 학습 노트 - 자가 적응 한도 값 화
AdaptiveThreshold
자가 적응 한도 값 방법
void cvAdaptiveThreshold( const CvArr* src, CvArr* dst, double max_value,
int adaptive_method=CV_ADAPTIVE_THRESH_MEAN_C,
int threshold_type=CV_THRESH_BINARY,
int block_size=3, double param1=5 );
src
그림 을 입력 하 십시오.
dst
그림 을 출력 합 니 다.
max_value
CV 사용THRESH_BINARY 와 CVTHRESH_BINARY_INV 의 최대 치.
adaptive_method
자가 적응 한도 값 알고리즘 사용: CVADAPTIVE_THRESH_MEAN_C 또는 CVADAPTIVE_THRESH_GAUSSIAN_C (토론 참조).
threshold_type
한도 값 유형: 하위 중 하나 여야 합 니 다.
block_size
한도 값 을 계산 하 는 픽 셀 인접 도 메 인 크기: 3, 5, 7...
param1
방법 과 관련 된 매개 변수.방법 CVADAPTIVE_THRESH_MEAN_C 와 CVADAPTIVE_THRESH_GAUSSIAN_C. 이것 은 평균 값 이나 가중 평균 값 에서 추출 한 상수 입 니 다. 비록 마이너스 일 수 있 지만.
함수 cvAdaptive Threshold 는 그 레이스 케 일 이미 지 를 2 값 이미지 로 변환 하고 다음 공식 을 사용 합 니 다.
threshold_type=CV_THRESH_BINARY:
dst(x,y) = max_value, if src(x,y)>T(x,y)
0, otherwise
threshold_type=CV_THRESH_BINARY_INV:
dst(x,y) = 0, if src(x,y)>T(x,y)
max_value, otherwise
그 중에서 TI 는 모든 픽 셀 점 을 위해 단독으로 계산 하 는 한도 값 이다.
방법 CVADAPTIVE_THRESH_MEAN_C. 먼저 블록 중의 평균 값 을 구하 고 param 1 을 빼 세 요.
방법 CVADAPTIVE_THRESH_GAUSSIAN_C. 먼저 블록 중의 가중 과 (gaussian) 를 구하 고 param 1 을 빼 세 요.
================================================================================================================
아래 의 예 제 는 한도 값 화 와 자가 적응 한도 값 화 를 비교 했다.
#include "StdAfx.h"
#include
#include
#include
IplImage* Igray = 0;
IplImage* It = 0;
IplImage* Iat;
void main()
{
Igray = cvLoadImage("lena.png", CV_LOAD_IMAGE_GRAYSCALE);
It = cvCreateImage(cvSize(Igray->width, Igray->height),IPL_DEPTH_8U, 1);
Iat = cvCreateImage(cvSize(Igray->width, Igray->height),IPL_DEPTH_8U, 1);
cvThreshold(Igray, It, 150, 255,CV_THRESH_BINARY);
cvAdaptiveThreshold(Igray, Iat, 255, CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY, 3, 5);
cvNamedWindow("orignal", 1);
cvNamedWindow("threshold", 1);
cvNamedWindow("adaptiveThresh", 1);
cvShowImage("orignal", Igray);
cvShowImage("threshold", It);
cvShowImage("adaptiveThresh", Iat);
cvWaitKey(0);
cvReleaseImage(&Igray);
cvReleaseImage(&It);
cvReleaseImage(&Iat);
cvDestroyWindow("orignal");
cvDestroyWindow("threshold");
cvDestroyWindow("adaptiveThresh");
}
연산 결 과 는:
참고 문헌:
1. OpenCV 학습, 우기, 유서 정, 청화대학 출판사, pp. 159 - 161
2.http://blog.csdn.net/cartoonface/article/details/6011334
3.http://www.opencv.org.cn/index.php/Cv%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86#AdaptiveThreshold
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python 버 전의 cairo 모듈 설치: PycairoWindows 에 cairo 를 어떻게 설치 하 는 지, 특히 for python 을 어떻게 설치 하 는 지. 대응 하 는 Pycairo 를 찾 았 는데 보 니 아까 홈 페이지 에 있 던 것 같 습 니 다. 그리고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.