float value = p_float[x] 等价于 float value = * (p_float +x)
指针法比cvGet的效率高,因为cvGet要出栈入栈。
CvMat* cvInitMatHeader(
CvMat* mat, int rows, int cols, int type,
void* data=NULL, int step=CV_AUTOSTEP );
3。memset() 函数常用于内存空间初始化。如:
char str[100];
memset(str,0,100);
4。memset()的深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;例:char a[100];memset(a, '/0', sizeof(a));
5.使用cvDrawContours会破坏源图像,还要填充保留下来的轮廓。
void showArea(IplImage*src){
CvSeq *contour = NULL;
CvMemStorage *storage =cvCreateMemStorage(0);
cvFindContours(src,storage,&contour,sizeof(CvContour),CV_RETR_EXTERNAL);
for(;contour;contour=contour->h_next){
int a =abs(cvContourArea(contour));
printf("%d\n",a);
if(a<=100)
cvDrawContours(src,contour,cvScalar(0,0,0,0),cvScalar(0,0,0,0),0,CV_FILLED);
else
cvDrawContours(src,contour,cvScalar(255,0,0,0),cvScalar(255,0,0,0),0,CV_FILLED);
}
}