[問題] C++要怎麼讀圖阿

看板C_and_CPP (C/C++)作者 (小多啦)時間16年前 (2010/06/03 16:11), 編輯推噓9(9024)
留言33則, 8人參與, 最新討論串1/1
想請問版上的大大們,C++要怎麼讀圖阿? 小弟是用Dev-C++來寫的 我想寫一個程式,可以讀取資料夾下的圖檔 (jpg或bmp都行) 並且把每個pixel的顏色都給讀出來 呈現的方式希望是以RGB的方式 例如 R=255 G=0 B=100 之類的 想請問一下 有什麼比較簡單的方式或語法可以使用嗎 因為小弟才剛學寫C++程式而已,所以還是個新手 先謝謝大家的幫忙囉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.18.5

06/03 17:18, , 1F
讀圖可以自己看規格,自己寫;秀圖有一點麻煩....
06/03 17:18, 1F

06/03 17:52, , 2F
他只是要用文字顯示的方式, 應該去把spec讀熟就可以做了
06/03 17:52, 2F

06/03 17:52, , 3F
當然, 找現有的套件直接用會省事很多就是了....XD
06/03 17:52, 3F


06/03 17:59, , 6F
現成 lib 可以找 VXL。
06/03 17:59, 6F

06/03 18:00, , 7F

06/03 18:01, , 8F
我有自己去google了 不過不是看不懂 就是執行會出錯...0rz
06/03 18:01, 8F

06/03 18:02, , 9F
不然就是 boost 的 GIL。
06/03 18:02, 9F

06/03 18:02, , 10F
我是想讀 8位元的BMP檔 然後讀出第N個PIXEL的RGB值後
06/03 18:02, 10F

06/03 18:02, , 11F
存入ARRAY
06/03 18:02, 11F

06/03 18:02, , 12F
1. 自己有嘗試了卻沒有貼出來; 2. 講出錯又不說明出了什
06/03 18:02, 12F

06/03 18:03, , 13F
麼錯. 這兩個習慣不太好喔XD
06/03 18:03, 13F

06/03 18:04, , 14F
8 bit圖檔的raw area存的是index, 如果你真的要對應的
06/03 18:04, 14F

06/03 18:04, , 15F
RGB value要反查pallete table....
06/03 18:04, 15F

06/03 18:06, , 16F
想請問一下 有方法可以直接輸出RGB的值 到int的array中嗎
06/03 18:06, 16F

06/03 18:34, , 17F
OpenCV
06/03 18:34, 17F

06/03 18:53, , 18F
OpenCV
06/03 18:53, 18F

06/03 19:34, , 19F
OpenCV or CxImage
06/03 19:34, 19F
感謝上面大大的幫忙 小弟現在可以讀出每個PIXEL的索引值 例如黑色為0 黃色為251 藍色為252 白色為255 不過現在的問題在於說 要怎麼把這些索引值還原成RGB的值阿? 有沒有公式或者函數可以直接轉換回去的? ※ 編輯: DoraBoy 來自: 140.112.18.5 (06/03 20:08)

06/03 21:55, , 20F
調色盤讀入後,用查表的方式代回去e.g:顏色=調色盤[索引]
06/03 21:55, 20F

06/03 22:25, , 21F
我上面推文不就講了嗎?? 拿index(例子裡的0,251,252等)
06/03 22:25, 21F

06/03 22:26, , 22F
回去調色盤區查呀, 調色盤會在哪, 資料格式, spec裡都會
06/03 22:26, 22F

06/03 22:26, , 23F
有寫; 不然你用什麼套件讀的也講一下, 不然怎麼知道是不
06/03 22:26, 23F

06/03 22:27, , 24F
是套件裡有現成的方法直接幫你查出來....@_@"
06/03 22:27, 24F

06/03 23:11, , 25F
我是先用 getc(ptr); 讀出char後 再轉成int的
06/03 23:11, 25F

06/03 23:12, , 26F
不太懂 調色盤在哪裡?
06/03 23:12, 26F

06/03 23:48, , 27F
Wiki裡的 Color palette 這一段有寫,
06/03 23:48, 27F

06/03 23:49, , 29F
上面是用 Google BMP file format 可以找到的中文網站,
06/03 23:49, 29F

06/03 23:49, , 30F

06/03 23:50, , 31F
上面是Wiki的下面一個External links裡人家寫好的sample
06/03 23:50, 31F

06/03 23:51, , 32F
code. 以上, 請自己消化吧:)
06/03 23:51, 32F

06/04 12:57, , 33F
恩 真的很謝謝樓上的大大們~
06/04 12:57, 33F
文章代碼(AID): #1C1sFCQm (C_and_CPP)
文章代碼(AID): #1C1sFCQm (C_and_CPP)