cvThreshold(const CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type)

src는 이진화를 시킬 영상,
dst는 이진화 후 저장될 영상,
threshold는 임계값
max_value는 임계값을 넘은 값,

threshold_type는 이진화 방법 

/* Types of thresholding */
#define CV_THRESH_BINARY          0  /* value = value > threshold ? max_value : 0 */
#define CV_THRESH_BINARY_INV    1  /* value = value > threshold ? 0 : max_value */
#define CV_THRESH_TRUNC           2  /* value = value > threshold ? threshold : value */
#define CV_THRESH_TOZERO         3  /* value = value > threshold ? value : 0 */
#define CV_THRESH_TOZERO_INV   4  /* value = value > threshold ? 0 : value */
#define CV_THRESH_MASK             7
#define CV_THRESH_OTSU              8 
/*  use Otsu algorithm to choose the optimal threshold value;
     combine the flag with one of the above CV_THRESH_* values */


스레쉬 홀드를 사용하기 전
gray = cvCreateImage( cvSize(640,480), 8 , 1); 이렇게 1채널로 공간을 생성 후
cvCvtColor( const CvArr* src, CvArr* dst, int code ); 를 이용하여 색 공간을 변형한다.

code는 컬러 변환 모드로..

주로 사용되는 건

CV_RGB2GRAY - 흑백으로 변환
CV_RGB2YCrCb - 주로 피부색 모델을 할 때 변환
CV_RGB2HLS - H(Hue색상), L(Luminance,휘도),S(Saturation,채도)
CV_RGB2HSV - 모든 컬러를 Hue, Saturation, Value로 표현하는 방식

/* Constants for color conversion */
#define  CV_BGR2BGRA    0
#define  CV_RGB2RGBA    CV_BGR2BGRA

#define  CV_BGRA2BGR    1
#define  CV_RGBA2RGB    CV_BGRA2BGR

#define  CV_BGR2RGBA    2
#define  CV_RGB2BGRA    CV_BGR2RGBA

#define  CV_RGBA2BGR    3
#define  CV_BGRA2RGB    CV_RGBA2BGR

#define  CV_BGR2RGB     4
#define  CV_RGB2BGR     CV_BGR2RGB

#define  CV_BGRA2RGBA   5
#define  CV_RGBA2BGRA   CV_BGRA2RGBA

#define  CV_BGR2GRAY    6
#define  CV_RGB2GRAY    7
#define  CV_GRAY2BGR    8
#define  CV_GRAY2RGB    CV_GRAY2BGR
#define  CV_GRAY2BGRA   9
#define  CV_GRAY2RGBA   CV_GRAY2BGRA
#define  CV_BGRA2GRAY   10
#define  CV_RGBA2GRAY   11

#define  CV_BGR2BGR565  12
#define  CV_RGB2BGR565  13
#define  CV_BGR5652BGR  14
#define  CV_BGR5652RGB  15
#define  CV_BGRA2BGR565 16
#define  CV_RGBA2BGR565 17
#define  CV_BGR5652BGRA 18
#define  CV_BGR5652RGBA 19

#define  CV_GRAY2BGR565 20
#define  CV_BGR5652GRAY 21

#define  CV_BGR2BGR555  22
#define  CV_RGB2BGR555  23
#define  CV_BGR5552BGR  24
#define  CV_BGR5552RGB  25
#define  CV_BGRA2BGR555 26
#define  CV_RGBA2BGR555 27
#define  CV_BGR5552BGRA 28
#define  CV_BGR5552RGBA 29

#define  CV_GRAY2BGR555 30
#define  CV_BGR5552GRAY 31

#define  CV_BGR2XYZ     32
#define  CV_RGB2XYZ     33
#define  CV_XYZ2BGR     34
#define  CV_XYZ2RGB     35

#define  CV_BGR2YCrCb   36
#define  CV_RGB2YCrCb   37
#define  CV_YCrCb2BGR   38
#define  CV_YCrCb2RGB   39

#define  CV_BGR2HSV     40
#define  CV_RGB2HSV     41

#define  CV_BGR2Lab     44
#define  CV_RGB2Lab     45

#define  CV_BayerBG2BGR 46
#define  CV_BayerGB2BGR 47
#define  CV_BayerRG2BGR 48
#define  CV_BayerGR2BGR 49

#define  CV_BayerBG2RGB CV_BayerRG2BGR
#define  CV_BayerGB2RGB CV_BayerGR2BGR
#define  CV_BayerRG2RGB CV_BayerBG2BGR
#define  CV_BayerGR2RGB CV_BayerGB2BGR

#define  CV_BGR2Luv     50
#define  CV_RGB2Luv     51
#define  CV_BGR2HLS     52
#define  CV_RGB2HLS     53

#define  CV_HSV2BGR     54
#define  CV_HSV2RGB     55

#define  CV_Lab2BGR     56
#define  CV_Lab2RGB     57
#define  CV_Luv2BGR     58
#define  CV_Luv2RGB     59
#define  CV_HLS2BGR     60
#define  CV_HLS2RGB     61

#define  CV_COLORCVT_MAX  100

'OpenSTUDY > CameraVision' 카테고리의 다른 글

CCD & CMOS  (0) 2011.11.05
Apply Canny edge  (0) 2011.11.05
cvFlip  (0) 2011.11.05
CreateVideoWriter  (0) 2011.11.02
CaptureFromAVI  (0) 2011.11.02

+ Recent posts