2008/08/22
OpenCV 에서 Structuring element 활용한 이진 영상의 Morphology 처리
간단한 영상처리 중 Dilte 와 Erode 에 대한 예로 Structuring element 를 활용하여 처리 한 것이다.
Dilate 나 Erode 수행시 Structuring element 를 생략하면 3x3 의 Structuring element로 간주하고 처리한다.
결과 영상
Original Post : http://neodreamer-dev.tistory.com/147
CvvImage image;
// Load Source Image
BOOL ok = image.Load( "test.bmp", 1);
if (!ok)
{
AfxMessageBox(_T("Cannot Load Image"));
return;
}
// Show Image Window
cvNamedWindow("original", CV_WINDOW_AUTOSIZE);
cvShowImage("original", image.GetImage());
IplImage* pImg = cvCloneImage( image.GetImage() );
IplImage* pBuf = cvCloneImage( image.GetImage() );
IplConvKernel elem;
int elemValueH[9] = {
0, 0, 0,
1, 1, 1,
0, 0, 0
};
int elemValueV[9] = {
0, 1, 0,
0, 1, 0,
0, 1, 0
};
elem.nCols = 3;
elem.nRows = 3;
elem.anchorX = 1;
elem.anchorY = 1;
// Dilation
elem.values = elemValueH;
cvDilate( pImg, pBuf, &elem, 5 );
cvNamedWindow("Dilate Horizontal", CV_WINDOW_AUTOSIZE);
cvShowImage("Dilate Horizontal", pBuf);
elem.values = elemValueV;
cvDilate( pImg, pBuf, &elem, 5 );
cvNamedWindow("Dilate Vertical", CV_WINDOW_AUTOSIZE);
cvShowImage("Dilate Vertical", pBuf);
// Erosion
elem.values = elemValueH;
cvErode( pImg, pBuf, &elem, 5 );
cvNamedWindow("Erode Horizontal", CV_WINDOW_AUTOSIZE);
cvShowImage("Erode Horizontal", pBuf);
elem.values = elemValueV;
cvErode( pImg, pBuf, &elem, 5 );
cvNamedWindow("Erode Vertical", CV_WINDOW_AUTOSIZE);
cvShowImage("Erode Vertical", pBuf);
// Release
cvReleaseImage( &pImg );
cvReleaseImage( &pBuf );
Dilate 나 Erode 수행시 Structuring element 를 생략하면 3x3 의 Structuring element로 간주하고 처리한다.
결과 영상
Original Post : http://neodreamer-dev.tistory.com/147
Labels:
Dilation
,
Erosion
,
Morphology
,
OpenCV
,
Structuring element
,
TistoryOldPost
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment