[問題] opencv Mat取直的問題

看板C_and_CPP (C/C++)作者 (大David為)時間13年前 (2012/08/21 13:50), 編輯推噓0(0015)
留言15則, 2人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vc++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) opencv 問題(Question): opencv Mat取值的問題 程式碼(Code):(請善用置底文網頁, 記得排版) Mat b; Mat a; for(k=0;k<20;k++) { for(j=0;j<20;j++) { b.data[k*b.cols+j] = a.data[k*a.cols+j]; } } 補充說明(Supplement): 這樣的寫法是參考之前在網路上找到的sample code 但我是要複製a裡的某個區域至b 但用imshow顯示出來會縮小又變左右一樣的圖像 我知道還有一個方式是用CvSetMat但我執行程式會當掉 不知道還有甚麼其他方式可以複製特定區域的Mat資料呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.136.146.60

08/21 14:20, , 1F
08/21 14:20, 1F

08/21 14:22, , 2F
你如果要複製圖像區域的話可以用http://ppt.cc/6afn
08/21 14:22, 2F

08/21 14:27, , 3F
不過複製出來的一樣是參照到原本的圖像,所以修改會
08/21 14:27, 3F

08/21 14:27, , 4F
08/21 14:27, 4F

08/21 14:31, , 5F
如果不要修改到原圖的話就要用clone,將原圖複製
08/21 14:31, 5F

08/21 14:33, , 6F
http://ideone.com/G4NYV 參考這個,我都對取出的圖
08/21 14:33, 6F

08/21 14:34, , 7F
修改,b有clone所以在上面劃線不會影響原圖
08/21 14:34, 7F

08/21 14:34, , 8F
但c是直接挖出來,所以會修改到原圖
08/21 14:34, 8F

08/21 16:59, , 9F
感謝!正在嘗試
08/21 16:59, 9F

08/22 13:42, , 10F
我試了這兩種方式但程式都會閃退,並在cmd line有opencv的
08/22 13:42, 10F

08/22 13:42, , 11F
錯誤訊息。請問是我資料型態設定錯誤嗎?
08/22 13:42, 11F

08/22 13:43, , 12F
錯誤訊息是什麼?我這用都正常
08/22 13:43, 12F

08/22 14:27, , 13F
似乎是指記憶體位置異常或者宣告的型態錯誤。因為一大串我
08/22 14:27, 13F

08/22 14:28, , 14F
不好複製。 我試過了a.at<int>(i,j)也會有類似的閃退問題
08/22 14:28, 14F

08/22 14:53, , 15F
compiler error? runtime error?
08/22 14:53, 15F
文章代碼(AID): #1GCo6x2E (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1GCo6x2E (C_and_CPP)