作者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