침식연산, 팽창연산의 확장
c++)
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #include <opencv/cv.h> #include <opencv/highgui.h> void main() { IplImage *srcImage = cvLoadImage("D:/study/testimage2.jpg", -1); IplImage *openImage = cvCloneImage(srcImage); IplImage *closeImage = cvCloneImage(srcImage); //cvCreateStructuringElementEx(열의수, 행의수, 중심점x좌표, 중심점y좌표, 구조적요소 모양) : 구조적요소 정의 함수 //구조적 요소 모양 //CV_SHAPE_RECT : 사각형 구조적요소 //CV_SHAPE_CROSS : 십자형 구조적요소 //CV_SHAPE_ELLIPSE : 타원형 구조적요소 //CV_SHAPE_CUSTOM : 사용자정의 구조적요소 IplConvKernel *element = cvCreateStructuringElementEx(3, 3, 1, 1, CV_SHAPE_CROSS); //cvMorphologyEx(원본이밎, 결과이미지, 임시이미지, 연산종류, 연산횟수) : 팽창연산, 침식연산으로 부터 확장된 연산 수행 //연산종류 //CV_MOP_OPEN : 열림연산 (침식연산 수행후 팽창연산 수행) //CV_MOP_CLOSE : 닫힘연산 (팽창연산 수행후 침식연산 수행) //CV_MOP_GRADIENT : 기울기 연산 //CV_MOP_TOPHAT : top hat 연산 //CV_MOP_BLACKHAT : black hat 연산 cvMorphologyEx(srcImage, openImage, NULL, element, CV_MOP_OPEN, 1); //열림연산 수행 cvMorphologyEx(srcImage, closeImage, NULL, element, CV_MOP_CLOSE, 1); //닫힘연산 수행 cvNamedWindow("original", CV_WINDOW_AUTOSIZE); cvNamedWindow("open", CV_WINDOW_AUTOSIZE); cvNamedWindow("close", CV_WINDOW_AUTOSIZE); cvShowImage("original", srcImage); cvShowImage("open", openImage); cvShowImage("close", closeImage); cvWaitKey(0); cvReleaseImage(&srcImage); cvReleaseImage(&openImage); cvReleaseImage(&closeImage); } | cs |
결과
'IT > - 프로그래밍' 카테고리의 다른 글
OpenCV 컬러영상을 흑백영상으로 변환하기 (0) | 2017.05.12 |
---|---|
OpenCV 동영상 재생하기 (0) | 2017.05.11 |
OpenCV 침식연산 예제 (0) | 2017.05.04 |
OpenCV 팽창연산 예제 (0) | 2017.05.03 |
Cocos 충돌여부 체크하기 (0) | 2017.05.02 |