最終更新: mikk_ni3_92 2010年02月15日(月) 16:42:12履歴
現在地 >> メニュー >> OpenCV >> IplImage編08 >> IplImage編08::まとめ3
#include <iostream> #include <string> #include <cv.h> #include <highgui.h> #pragma comment(lib,"cv200.lib") #pragma comment(lib,"cxcore200.lib") #pragma comment(lib,"highgui200.lib") const char *filename = "gm2.png"; int main() { IplImage *imgA = cvLoadImage(filename); if(imgA == NULL) { std::cerr << "Can't Load Image\n"; return -1; } //5x5カーネルアンカポイントはカーネルの中心(十字形) IplConvKernel *cnvK = cvCreateStructuringElementEx(5,5,2,2,CV_SHAPE_CROSS); //画像の膨張(低い画素値部分が収縮) cvErode(imgA,imgA,cnvK,4);//カラー画像も可能 cvReleaseStructuringElement(&cnvK); cvNamedWindow("cvErode"); cvShowImage("cvErode",imgA); cvWaitKey(); cvReleaseImage(&imgA); cvDestroyAllWindows(); return 0; }
#include <iostream> #include <string> #include <cv.h> #include <highgui.h> #pragma comment(lib,"cv200.lib") #pragma comment(lib,"cxcore200.lib") #pragma comment(lib,"highgui200.lib") const char *filename = "gm2.png"; int kernel[]= { 1,0,0,0,0, 0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0, 0,0,0,0,1 }; int main() { IplImage *imgA = cvLoadImage(filename); if(imgA == NULL) { std::cerr << "Can't Load Image\n"; return -1; } //5x5カーネルアンカポイントはカーネルの中心 IplConvKernel *cnvK = cvCreateStructuringElementEx(5,5,2,2,CV_SHAPE_CUSTOM,kernel); //画像の膨張(低い画素値部分が収縮) cvErode(imgA,imgA,cnvK,4);//カラー画像も可能 cvReleaseStructuringElement(&cnvK); cvNamedWindow("cvErode"); cvShowImage("cvErode",imgA); cvWaitKey(); cvReleaseImage(&imgA); cvDestroyAllWindows(); return 0; }