作者VictorTom (鬼翼&娃娃魚)
看板C_and_CPP
標題Re: [問題] 用C++寫影像處理
時間Mon Jun 1 01:46:58 2009
※ 引述《calfcycu (雨)》之銘言:
: 推 kvykn:先了解bmp檔頭 然後去掉bmp的檔頭 剩下的就是像素陣列資訊了 06/01 01:10
: → kvykn:之後再利用影像處理的公式對像素作處理 06/01 01:11
: → kvykn:當然用opencv是最方便的方法了. 06/01 01:11
不好意思, 小弟感覺樓上這個推文似乎描述的過於簡化了....
雖然對我們常用的BMP來說大抵上適用....
但是剛好對原po 8bpp的BMP搞不好就會遇到問題....
所以睡覺前冒昧另外回一篇文稍微討論一下這點....
Wiki上對BMP format的介紹....
http://en.wikipedia.org/wiki/BMP_file_format#BMP_file_header
BMP要說檔頭的話, 大底上分為File Header與Info Header....
接著依照pixel format, 還有可能會再跟一段Color Palette(調色盤)
在256色模式檔案資訊或者顯示的時候沒設好, 結果也許會差很大....
所謂的像素陣列資訊在搭配Color Palette時可能只是某個color的index....
另外, 這些"像素陣列資訊"也不見得全部都是"直接的"pixel data....
也許有的是padding的dummy, 也許有的經過RLE的簡易壓縮或更複雜的壓縮....
相對的, 做彩色影像處理的時候遇到alpha channel是不是照算也是個問題....
當然, 初練習應該是不會這麼找自己麻煩搞壓縮什麼的東西....
但是要自己處理8 bpp BMP, Color Palette與padding應該免不了....
這些煩人的雜事小事當然能夠有tool/元件可以揀現成的用是最好啦:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.41.192.14
1F:推 kvykn:你文章或許講的很仔細,但你可否想過他要查多少關鍵字? 06/01 02:02
2F:→ kvykn:就最初的層次而言,了解bmp檔頭跟去擋頭讀像就已經足夠了嘛 06/01 02:03
3F:→ kvykn:其他的就由他個人自己去挖掘資訊,抽絲剝繭逐漸了解整個作法 06/01 02:04
4F:→ VictorTom:所以我說有現有的東西可以用最好啊, 畢竟連原po的開發 06/01 02:06
5F:→ VictorTom:環境也不曉得嘛:) 06/01 02:06
6F:→ VictorTom:不過我主要想說的是要自己開檔, 調色盤要記得搞.... 06/01 02:07
7F:→ VictorTom:其實當初用BCB6遇到8bpp還是要抄一下調色盤下法Orz 06/01 02:07
8F:→ VictorTom:不知道OpenCV用起來怎麼辦就是了@_@" 06/01 02:08
9F:推 kvykn:搞不好元件函式庫給了也不知道如何使用...這問題就大了 06/01 02:08
10F:推 kvykn:而且原po他好像沒有說是8bpp的灰階圖吼? 06/01 02:10
11F:→ VictorTom:有啊, "灰階圖片(.bmp 256位元)"....XD 06/01 02:11
12F:推 wa120:Opencv都包好了~ 不用處理調色盤 06/01 02:27
13F:→ wa120:不過原理知道一下會比較好 有個時候還是要計算一下檔案格式 06/01 02:27
14F:推 dick58582001:請問,哪邊詳細介紹二值化的方法,跟公式。 我有鐘 06/01 19:32
15F:→ dick58582001:國亮老師的書,但是只有介紹四種二值化的方法 06/01 19:33
16F:→ dick58582001:謝謝。 06/01 19:34
17F:推 kvykn:上IEEE阿,PAMI也可以找一下。 06/01 19:55
18F:推 dick58582001:謝謝,我找找看。 06/01 19:59
19F:推 zlw:去圖書館找看看,以前有看過,但頂多也介紹幾種基本常見方法 06/01 20:52
20F:→ zlw:真的要研究,還是得自己翻paper查論文 06/01 20:52
21F:→ zlw:我說的那本是英文書,所以我看過書名根本記不住 06/01 20:53
22F:推 yoco315:不要吵了 = = 快去用 matlab 最實際 06/01 20:56
23F:→ VictorTom:殘愧, 小弟我只會: >T一個值, <=T一個值, 這種二值化Orz 06/01 21:26
24F:推 zlw:大部分二值化都是>T、<=T,算T才是重點 06/01 21:32
25F:→ kvykn:Kapur自動門檻二值化方法. 去找一下 06/01 21:35
26F:→ VictorTom:糟~~搞笑了, 算T/自動才是重點啦...XDDD 06/01 21:38
27F:推 dick58582001:我有做出otsu跟kapur的方法 06/01 22:06
28F:→ dick58582001:我還想嘗試做其他的二值化方法 06/01 22:07
29F:→ dick58582001:謝謝 06/01 22:07
30F:推 kvykn:"Suvey over image thresholding techniques and ..." 06/01 22:36
31F:→ kvykn:"quantitative performance evaluation" 共四十種,慢做阿 06/01 22:37
32F:→ VictorTom:樓上GJ.... 還是應該說樓上真壞心XDDDD 06/02 09:25
33F:推 kvykn:其實otsu跟kapur自動門檻決定是最常用的 06/02 13:57
34F:→ kvykn:Suvey裡面的四十種方法中,有三十八種是手動決定門檻 06/02 13:58
35F:→ kvykn:不過這篇paper還是值得一看 04年發的好像 06/02 13:59
36F:→ VictorTom:雄雄想起自己沒學多少東西就看Face Detection - Survey 06/02 14:03
37F:→ VictorTom:結果這篇paper裡面幾乎什麼都看不懂啊....Q_Q~ 06/02 14:04
38F:推 dick58582001:謝謝,淚推英文,神秘函數定義 06/02 15:42
39F:推 kvykn:suvey的意思就是什麼都會講,然後什麼都講的不清楚。 06/02 16:17
40F:→ VictorTom:當時年幼無知啊....Q_Q~ 其實我現在也還是不懂....XD 06/02 16:22
41F:推 kvykn:adaboost測人臉好像蠻熱門的,其他就Gabor轉換或PCA測人臉 06/02 17:14