[問題] opencv 圖有奇怪的線條

看板C_and_CPP (C/C++)作者 (Wade)時間14年前 (2011/08/23 01:07), 編輯推噓1(1018)
留言19則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VS2008 + OPENCV 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OPENCV CUDA 問題(Question): 麻煩各位點一下圖 http://ppt.cc/yYdv (內視鏡的圖 可能會有一點點不舒服) 問題就是在我用紅色框框圈起來的地方 很明顯的顏色不連續 還自己圍成一圈 我不知道這是為什麼 而且我看img裡面的資料範圍都是127~-128之間(opencv的IPLIMAGE格式) 不知道為什麼會出現這種錯亂的情況 麻煩各位了 謝謝 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) new_img->imageData[i*new_img->widthStep+j*3]=imagedata[2][i*new_img->width+j];//B new_img->imageData[i*new_img->widthStep+j*3+1]=imagedata[1][i*new_img->width+j]; //G new_img->imageData[i*new_img->widthStep+j*3+2]=imagedata[0][i*new_img->width+j]; //R 這是一個for 迴圈 前面new_img->imageData的型別是char 但是我算好丟進去的imagedata[0]~[2]的型別是float 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.207.104

08/23 01:12, , 1F
signed char 改成 unsigned char 顯示,即-128~+127調為
08/23 01:12, 1F

08/23 01:12, , 2F
0~255. <話說圖片真的有點..18禁嗎 XD>
08/23 01:12, 2F

08/23 01:17, , 3F
不好意思XD 剛好在弄這個圖 囧
08/23 01:17, 3F

08/23 01:17, , 4F
我想請問樓上要怎麼改 應該不是直接+128吧@@?
08/23 01:17, 4F

08/23 01:18, , 5F
原碼方便截取重點出來嗎?
08/23 01:18, 5F
※ 編輯: ss780217 來自: 140.114.207.104 (08/23 01:20)

08/23 01:21, , 6F
我就這樣寫進去 然後就用cvShowImage顯示了
08/23 01:21, 6F

08/23 01:22, , 7F
型別直接改宣告成 unsigned char, 別用 char 宣告
08/23 01:22, 7F

08/23 01:23, , 8F
影像數值是 0~255, unsigned , 用 signed char 較不佳.
08/23 01:23, 8F

08/23 01:27, , 9F
IPLIMAGE這個格式的data是char 可以改成 uchar??
08/23 01:27, 9F

08/23 01:38, , 10F
耶.若你是用IPLImage要存成 bmp 的話,要自己寫一份
08/23 01:38, 10F

08/23 01:40, , 11F
http://0rz.tw/9jiOk IPLImage to bmp.
08/23 01:40, 11F

08/23 01:48, , 12F
好 我研究一下轉成BMP 感謝你不吝指教~~
08/23 01:48, 12F

08/23 02:10, , 13F
小提一下,先解決 overflow 問題說不定就全解了。
08/23 02:10, 13F
※ 編輯: ss780217 來自: 140.114.207.104 (08/23 02:18)

08/23 02:18, , 14F
其實不是你看錯 是我打錯= =我在調整的忘記刪了 沒有-10
08/23 02:18, 14F

08/23 02:19, , 15F
但我加加減減也不能把那個拿掉 好煩
08/23 02:19, 15F

08/24 19:29, , 16F
unsigned char
08/24 19:29, 16F

08/24 19:29, , 17F
記得oepncv save image 可以直接存成 bmp
08/24 19:29, 17F

08/25 10:56, , 18F
請問一下樓上要怎麼用 我直接cvSaveImage("1.bmp",..)不
08/25 10:56, 18F

08/25 10:56, , 19F
能用@@ 不會存下來
08/25 10:56, 19F
文章代碼(AID): #1EKeph9C (C_and_CPP)
文章代碼(AID): #1EKeph9C (C_and_CPP)