728x90
이미지를 하나 로드해서
특정 밝기값( 0 ~ 255) 을 정해서
그값을 기준으로 흰,백으로 이미지를 바꿔보겠다.
도포 검사할때 유용하게 사용.
-thresholdNum 값을 1~255값을 바꿔가면서 사용하면됨.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | CString FilePath = ""; CString LoadWindowName = "threshold"; CString BINARYWindowName = "BINARY"; int thresholdNum = 100; IplImage *loadIplImage; IplImage *output; IplImage *gray; loadIplImage = cvLoadImage("./image/hand.jpg"); cvNamedWindow(LoadWindowName,0); //영상을 표시할 윈도우를 생성(0/1) cvNamedWindow(BINARYWindowName,0); //영상을 표시할 윈도우를 생성(0/1) gray = cvCreateImage( cvGetSize(loadIplImage), IPL_DEPTH_8U, 1); // 흑백 이미지 생성 output = cvCreateImage( cvGetSize(loadIplImage), IPL_DEPTH_8U, 1); // 흑백 이미지 생성 cvCvtColor(loadIplImage , gray , CV_RGB2GRAY);//컬러를 흑백으로 변환 cvThreshold(gray, output, thresholdNum, 255, CV_THRESH_BINARY); //thresholdNum값을 기준으로 이진화 cvShowImage(BINARYWindowName , output); cvShowImage(LoadWindowName,loadIplImage); //윈도우에 출력 cvWaitKey(0); //프로그램의 동작을 잠시 멈추고 사용자로부터 키 입력을 기다린다. cvReleaseImage(&loadIplImage); //할당된 메모리 공간을 해제한다. cvReleaseImage(&output); //할당된 메모리 공간을 해제한다. cvReleaseImage(&gray); //할당된 메모리 공간을 해제한다. cvDestroyWindow(LoadWindowName); //윈도우를 닫고, 윈도우를 위해 동적할당된 메모리 공간을 모두 해제한다. cvDestroyWindow(BINARYWindowName); //윈도우를 닫고, 윈도우를 위해 동적할당된 메모리 공간을 모두 해제한다. | cs |
반응형
'배워보자!! > Opencv' 카테고리의 다른 글
[Opencv] Iplimage이미지로드, Picture Control에 보여주기 (0) | 2019.06.19 |
---|---|
[Opencv] Mfc bmp 이미지 로드하기 (0) | 2019.06.17 |
[Opencv] IplImage 이미지 상하,좌우 반전 (0) | 2018.11.29 |
[Opencv] Iplimage 이미지 회전 (0) | 2018.11.27 |
[Opencv] IpImage 이미지 로드 (0) | 2018.11.25 |
댓글