最近准备好好学习opencv 这博客就是我的学习笔记。
#include <cv.h>
#include <highgui.h> using namespace std; void main()
{
IplImage *src=cvCreateImage(cvSize(11,10),8,1);
IplImage *dst=cvCreateImage(cvGetSize(src),8,1); cvZero(src);
cvZero(dst); int x,y;
for (y=1;y<4;y++)
{
for (x=6;x<10;x++)
{
cvSetReal2D(src,y,x,255);
}
} for (y=4;y<6;y++)
{
for (x=4;x<8;x++)
{
cvSetReal2D(src,y,x,255);
}
}
for (y=7;y<9;y++)
{
for (x=1;x<5;x++)
{
cvSetReal2D(src,y,x,255);
}
}
printf("SRC:"); for (y=0;y<src->height;y++)
{
for (x=0;x<src->width;x++)
{
float value=cvGetReal2D(src,y,x);
printf("%3d ",(int)value);
}
printf("\n");
}
IplConvKernel*element=0;
int values[16]={0,0,0,0,
0,0,1,0,
0,1,1,0,
0,0,0,0
} ;
int cols=4,rows=4,ancher_x=2,ancher_y=2;
element=cvCreateStructuringElementEx(cols,rows,ancher_x,ancher_y,CV_SHAPE_CUSTOM,values);
cvErode(src,dst,element,1);
printf("DST:"); for (y=0;y<src->height;y++)
{
for (x=0;x<src->width;x++)
{
float value=cvGetReal2D(dst,y,x);
printf("%3d ",(int)value);
}
printf("\n");
}
}