概述
定义了一个指针型变量temp。
temp在内存中的存储示意:
3CFE3C | 003F9DA0 |
temp变量的地址
temp=cvLoadImage("xxx\1.jpg",0);
printf("%Xn",&temp);temp自身的地址
printf("%pn",temp);/temp的值(就是存储的变量的地址)
cvReleaseImage(&temp);
printf("%Xn",&temp);temp自身的地址
if(temp==NULL)
temp=cvLoadImage("xxx\2.jpg",0);
printf("%Xn",&temp);///temp自身的地址
printf("%pn",temp);temp的值(就是存储的变量的地址)
可以运行看一下结果。
/**************** 运行结果 ******************
3CFE3C
003F9DA0
3CFE3C
Yeah!!!
3CFE3C
001AFF20
请按任意键继续. . .
*********************************************/
总结一下:cvReleaseImage函数只是将IplImage*型的变量值赋为NULL,而这个变量本身还是存在的并且在内存中的存储位置不变。
关于cvLoadImage函数和cvCreateImage函数的补充:
IplImage* pimg=cvLoadImage("xxx.jpg",0);
经过这个语句之后,系统会为载入的图像分配一段内存,地址为XXXXXX。然后指针pimg指向该内存,也即是指针变量pimg的值为XXXXXX。
cvReleaseImage(&pimg);
使用cvReleaseImage函数之后,系统将释放刚才载入图像的内存空间(也即这个图像在内存中已经不存在了),同时pimg的值置为NULL。
下面是类似的。
IplImage* pdst=cvCreateImage( cvsize(SIZE,SIZE),8,1 );
cvReleaseImage(&pdst);
最后
以上就是细心音响为你收集整理的cvReleaseImage函数的用法说明的全部内容,希望文章能够帮你解决cvReleaseImage函数的用法说明所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复