[問題] 關於OpenCV 裡面的 Canny 邊緣偵測

看板C_and_CPP作者 (ㄚ年)時間15年前 (2010/09/01 06:55), 編輯推噓5(5017)
留言22則, 7人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: 我輸入的圖片為三通道圖片,但是OpenCV 裡面的 cvCanny()裡面放的圖片都必須為單通道。 想請問有什麼解決的方法 謝謝大家。 開發平台: VC++ -MFC 問題補充 :轉灰階我自己方法寫的,所以,執行完後,圖片還是為三通道圖片 VC++ 不接受單通道的圖片。 補充一下錯誤訊息 : Unsupported Format or Combinations of formats() in function cvCanny. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.184.5

09/01 16:15, , 1F
為什麼不用Opencv裡提供的轉灰階函式?
09/01 16:15, 1F

09/01 16:59, , 2F
自己寫Canny
09/01 16:59, 2F

09/01 17:15, , 3F
回一樓...因為vc他不接受單通道圖片 所以我必須自己寫^^
09/01 17:15, 3F

09/01 17:16, , 4F
回二樓...你的方法我想過~~不過又要去弄懂他的觀念~> <"
09/01 17:16, 4F

09/01 17:24, , 5F
你的灰階有什麼特殊性? 要不然就是
09/01 17:24, 5F

09/01 17:25, , 6F
你的灰階 -> 灰階 -> CannyEdge -> 你的灰階
09/01 17:25, 6F

09/01 18:40, , 7F
cvcvtcolor BGR2Gray不行嗎
09/01 18:40, 7F

09/01 19:58, , 8F
我的灰階有什麼特殊性....就圖片三個通道都是同樣的值
09/01 19:58, 8F

09/01 19:58, , 9F
所以 等同於看起來是 單通道的圖片(也就是灰階圖而已)
09/01 19:58, 9F

09/01 20:04, , 10F
那應該蠻好解的...
09/01 20:04, 10F

09/01 20:04, , 11F
我試過eric方法 行不通> < 回rabird : 不行耶!~
09/01 20:04, 11F
※ 編輯: Nienchin 來自: 140.122.184.5 (09/01 20:19)

09/01 21:04, , 12F
怎麼弄成灰階了你還要存成三通道格式...
09/01 21:04, 12F

09/01 21:05, , 13F
不然 VC 他不接受單通道格式...我也不願意> <
09/01 21:05, 13F
※ 編輯: Nienchin 來自: 140.122.184.5 (09/01 21:08)

09/01 22:54, , 14F
那就自己寫一個吧QQ
09/01 22:54, 14F

09/01 23:08, , 15F
sorry沒注意到原PO說的VC不接受3 channel, 但是
09/01 23:08, 15F

09/01 23:09, , 16F
這不可能吧 (要不然我之前寫的那些程式是什麼??)
09/01 23:09, 16F

09/01 23:10, , 17F
彩圖image 變數一份, 灰階圖image 變數一份
09/01 23:10, 17F

09/01 23:11, , 18F
用opencv的函數把彩圖變數轉換存到灰圖變數裡
09/01 23:11, 18F

09/01 23:31, , 19F
是你不熟你VC用到的lib吧
09/01 23:31, 19F

09/01 23:41, , 20F
opencv可以轉 用cvCvtColor()
09/01 23:41, 20F

09/02 01:36, , 21F
嗯 真的是OPENCV 1.0與VC 6的問題,我換了opencv 版本後
09/02 01:36, 21F

09/02 01:36, , 22F
問題就解決啦 ~感謝 ables 大
09/02 01:36, 22F
文章代碼(AID): #1CVVZfk0 (C_and_CPP)