Re: [問題] OpenCV怎麼讓raw檔轉bmp檔?

看板C_and_CPP作者 (AM2)時間11年前 (2013/01/19 18:19), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
如果你說的raw是指CFA的Bayer pattern直存的檔案, 希望找demosaic的工具的話 C語言openCV用cvCvtColor,搭配code = CV_BayerBG2BGR等等 C++的話是cv::cvtColor,code差不多 你上網找reference和sample code就可以了 需要特別注意的是你要知道原本的raw是幾bit、解析度、還有bayer pattern是哪一種 這些opencv的文件上都有寫 你如果轉出來顏色看來很怪,那大概就是用錯了bayer pattern 另一個值得一提的地方是, opencv的預設channel是BGR而不是RGB 如果你的目的是要存檔/顯示的話,目標格式建議用BGR 當然如果你要個別channel做操作的話就自己分清楚誰是誰就好了... 實務上,bayer pattern種類的選擇和輸出格式的選擇有可能導致負負得正的結果 也就是說你bayer選錯但輸出也選錯,最後顯示出來卻剛好是對的 以考慮code的reuse來說,最好檢驗一下都改對, 變數的命名也改對 (例如明明是BGR的IPL圖就不要把它命名為IplImage *im_rgb 還有YCrCb的圖不要順手就命名為im_yuv,其實他是yvu ) 不然後來要再看的時候這種錯可能會是debug的盲點 ※ 引述《renmax (鍛翼)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : Dev-C++ : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : OpenCV : 問題(Question): : // 已經會實作bmp檔轉其他圖檔的code : 我讀raw檔的方式是用 fopen(filename, "rb") : 雖然可以成功讀檔,但針對OpenCV而言 : 要怎麼讓raw檔轉成bmp檔呢? : 餵入的資料(Input): : test.raw // 彩色 : 預期的正確結果(Expected Output): : test1.bmp // 灰階 : test2.bmp // 彩色 : 錯誤結果(Wrong Output): : 程式碼(Code):(請善用置底文網頁, 記得排版) : 補充說明(Supplement): : 以拜讀過yester大的相關文章,不過沒找到raw檔怎轉其他圖檔的文章 : 請各位前輩不吝指教,麻煩各位前輩了 : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.173.120

01/22 10:40, , 1F
謝謝您的回應,謝謝
01/22 10:40, 1F
文章代碼(AID): #1G-dCOqU (C_and_CPP)
文章代碼(AID): #1G-dCOqU (C_and_CPP)