首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

《学习OpenCV(中文版)》例2-1,该如何处理

2013-01-01 
《学习OpenCV(中文版)》例2-1代码如下:int main(int argc, char** argv){IplImage* img cvLoadImage(argv[

《学习OpenCV(中文版)》例2-1
代码如下:


int main(int argc, char** argv)
{
IplImage* img = cvLoadImage(argv[1]);

cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
}

请问最后两句函数调用:cvReleaseImage(&img)和cvDestroyWindow("Example1"),它们的顺序有什么讲究么?能不能先“销毁窗口”再“释放图片”?OpenCV中文论坛上的代码就是这样的。
请具体解释两个函数调用时,发生了什么。谢谢。
[解决办法]
引用:
代码如下:
C/C++ code

int main(int argc, char** argv)
{
    IplImage* img = cvLoadImage(argv[1]);

    cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
    cvShowImage("Example1", img);
    cvWaitKey(0);
……

其实你可以试试调换下顺序!善于提问其实是件很艺术的事情!
cvReleaseImage(&img); 是把你显示的这张图片在内存中销毁掉
 cvDestroyWindow("Example1"); 是把你的显示这张图片的窗口的对象销毁掉!
其实先后是没关系的,不过你还是试验下,因为你已经有了这张图片在内存里的地址,即使你销毁了显示的窗体!

[解决办法]
编程习惯吧,可以通过语句顺序看出一个人的逻辑思维
[解决办法]
可以。
[解决办法]
没有直接关系

热点排行