在用到opencv中出現
找這個bug找了好久,網上有這樣幾種說法:
1.check這兩個圖或者矩陣是不是初始化了
2.如果初始化了,初始化的大小是不是一樣,即兩者有沒有相同的長寬
3.兩者的depth深度是不是一樣,即是不是一個是三通道的,一個是單通道的。
或者一個是單通道32位浮點類型,一個是單通道8位整形類型
還是沒解決的話,那麼接着往下看
如果你用的是以下代碼,
那麼你要檢查你 cvsetimageroi 這個函數是否執行成功,因為在cvsetimageroi函數中有一個cvrect結構,
如果你的roi區域因為 img_width,img_height 而超出圖檔部分,那麼就會造成和上面說的第二種情況沖突
诶,,,折騰我2小時了,擦!效率太低了!!!
ps:忘了說解決方法了,在cvsetimageroi之前,判斷下是否超出圖檔區域。。。額,等于沒說,總之自己加個判斷吧
或者用以下方式:
iplimage *psubimg =cvgetimage(cvgetsubrect(pimg, cvcreatematheader(100, 100, cv_8uc1),cvrect(0, 0, 100, 100)), cvcreateimageheader(cvsize(100, 100), 8,1));
這個函數的用法,附上個連結