《学习OpenCV(中文版)》例2-1,该如何处理
《学习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中文论坛上的代码就是这样的。
请具体解释两个函数调用时,发生了什么。谢谢。
[解决办法]其实你可以试试调换下顺序!善于提问其实是件很艺术的事情!
cvReleaseImage(&img); 是把你显示的这张图片在内存中销毁掉
cvDestroyWindow("Example1"); 是把你的显示这张图片的窗口的对象销毁掉!
其实先后是没关系的,不过你还是试验下,因为你已经有了这张图片在内存里的地址,即使你销毁了显示的窗体!
[解决办法]编程习惯吧,可以通过语句顺序看出一个人的逻辑思维
[解决办法]可以。
[解决办法]没有直接关系