Posted on 2013-01-11 14:41
盛勝 閱讀(490)
評論(0) 編輯 收藏 引用
http://blog.163.com/czy_sysu/blog/static/130695599201072611437703/
在使用opencv顯示圖像時會出現圖像倒立的情況,IplImage的origin屬性有關系。origin為0表示頂左結構,即圖像的原點是左上角,如果為1為左下角。一般從硬盤讀入的圖片或者通過cvCreateImage方法創建的IplImage圖片默認的origin為0,即顯示的時候都是正的。而由攝像頭或者視頻文件獲取的幀圖像origin為1,此時顯示的時候掃描順序是從下到上,顯示也是正的。但是如果你自己創建了一個IplImage格式的圖像img,且從幀圖像中copy或者截取一部分區域進行顯示的時候就會出現倒立情況。這是因為cvCreateImage方法得到的img的origin是0,而幀圖像的origin為1,它會將幀圖像的第i行賦值給img的第height-i行,因此就出現了倒立.解決辦法是:在創建之后將origin調整為與幀圖像的origin一致即可。
IplImage* face=cvCreateImage(cvSize(width,height),copy_Frame->depth,copy_Frame->nChannels);
//因為IplImage的origin=0,所以要先將face->origin改為1
face->origin=copy_Frame->origin;//1