讨论:颜色识别的算法,高分在线!

cyberjacky 2003-03-26 06:37:40
我目前有个小问题,就是要对一幅彩色图片(.bmp)中的背景(背景色唯一)识别出它的颜色。初步的想法是分析一个像素点的RGB值,然后再从这个点搜索一片区域,不知道可行吗?希望大家踊跃参与,我会及时结贴的!多谢!
...全文
849 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyberjacky 2003-04-07
  • 打赏
  • 举报
回复
对不起,前几天上不了网,所以没来照看。

很感谢大家的参与,特别是ayi和crazy_lazy_pig等人的积极参与,让我们的思路都能开阔些,本来想昨天就结贴的,看来可以推迟2天,让更多人看到大家的独到见解。谢谢!
crazy_lazy_pig 2003-04-05
  • 打赏
  • 举报
回复
真见鬼,居然没人理我。
唉,算了,反正也睡不着觉,先凑几个定义吧,大家给打打分。

前提1:扫描整张图片,得到图片所具有的颜色种类,记为 a1,a2,a3,…,an , 同时对具有某种颜色的象素点记数,得到各颜色象素点的数量,记为f(a1),f(a2),…,f(an).

定义一:(1) min(f(ai)|i=1...n)所对应的颜色即为背景色。此方案适用于几何画板型图片。
(2)max(f(ai)|i=1...n)所对应的颜色即为背景色。此方案适用于剪纸型图片。
定义二:(1)a1到an中灰度最小的为背景色。此方案适用于白纸黑字型图片。
(2)a1到an中灰度最大的为背景色。此方案适用于粉笔黑板型图片。

定义三:对图片周边进行扫描得到某一颜色的象素点数量超过周边所有点的数量的某一置信值
则定义这种颜色为背景色。此方案适用于阳刻印章型。

以上三种定义方法的背景色的获取算法想必不用我说了,很简单的,只要得到象素点的数量分布情况就可以了。请大家多多指教。
crazy_lazy_pig 2003-04-03
  • 打赏
  • 举报
回复
愚以为背景的定义是关键,这要根据你的实际情况来定义,不同的场合有不同的定义,完全看参照系的选择。
就象我上面给出的极端的例子,其实给出一个定义,每个人都会很容易的说出背景是什么。
怎么样,大家多给出几种定义吧,要求尽量合理,且有一定的区分度,不要求一定把我的例子也分出背景来,但是一定要说明适合那些类型的图片,这样人家才容易决定采用那种方案啊
crazy_lazy_pig 2003-04-03
  • 打赏
  • 举报
回复
不好意思,我是数学系,麻烦问以上诸君一个问题,是否这个“背景”很难定义?
比如法国国旗的背景色是什么?或者再极端一点假设一幅图片,正方行的,以主对角线为界,一半白一半黑,它的背景色是什么?这似乎用什么直方图,什么对比度都解决不了问题吧?

呵呵,搞数学的就是这样,比较容易考虑的极端的情形,若是这个问题解决了,我想楼主的问题也就容易解决了。希望大家多多讨论
ayi7456 2003-04-03
  • 打赏
  • 举报
回复
我奇怪的是你为什么一定要灰度化? 既然背景色不纯,方法就是把RGB图拆成三个分量,每个分量得一个峰值。三个峰值重新组合成一个颜色,根据这个颜色调节色容选取背景。我用photoshop test了一下你的两张样图,得到的峰值组合色非常接近于草地的绿色。色容得选取不可能自适应,只能靠经验,这很大影响了他的鲁棒性。一个高效,高鲁棒的背景抽取法,毫无疑问地可以成为博士的研究课题
cyberjacky 2003-04-03
  • 打赏
  • 举报
回复
周末结贴,100分再加50分,最后几天等待...
cyberjacky 2003-04-02
  • 打赏
  • 举报
回复
还有人参与吗?讨论总是没有结果,今天跟公司的高手交流,他说用灰度直方图几乎不可能,因为不同光照条件下,颜色的灰度值变化很大,而且白色和黄色,蓝色和黑色的灰度值相差不大,特别是光照等其他外部条件的影响下.......
cyberjacky 2003-03-31
  • 打赏
  • 举报
回复
to ayi:

样图就是这个链接:http://news.sina.com.cn/s/2003-03-25/1541965414.shtml

麻烦你试试!
ayi7456 2003-03-31
  • 打赏
  • 举报
回复
我先用photoshop来try一try, 你的灰度图算对了
cyberjacky 2003-03-31
  • 打赏
  • 举报
回复
彩色灰度化是不是用下面这个矩阵:
[Y U I]=[R G B][0.299 -0.148 0.615
0.587 -0.289 -0.515
0.114 0.437 -0.100]
求出Y Y=0.299R+0.587G+0.114B
新的图像中[R G B]=[Y Y Y]

在EBOOK中看到的。
cyberjacky 2003-03-31
  • 打赏
  • 举报
回复
jq问的好!我也不知道。但是左边右边的问题.....我说了,肯定是有一个占比较优势的颜色。

要不这样,就假设没有背景前景问题,我们就纯粹讨论一图片中哪种颜色是占主导地位的。

前面也有人提到背景前景的问题,我差点忘了!现实里还真麻烦。只好先不考虑这个问题了...
cyberjacky 2003-03-31
  • 打赏
  • 举报
回复
ayi: o @@!!收到,感谢!

你看了那个链接了吗?有没有试过效果?那样的背景应该足以识别吧?
你那能识别出绿色 吗?
金庆 2003-03-31
  • 打赏
  • 举报
回复
背景是相对于前景的,你是如何定义背景的呢?
一幅左边黑右边白的图,哪个是前景,哪个是背景?
ayi7456 2003-03-31
  • 打赏
  • 举报
回复
对整个图扫描也没什么问题呀? 相对图像处理来说这个的复杂度很低了,你们领导不会不懂这一点吧。用直方图如果背景色不纯当然会非常严整地影响结果,过多的噪音点会模糊直方图中的峰值,从而影响对背景颜色的判断。你只有设一个阀值来判断背景色...问题就多得多了。这就是电影特技为什么要用纯色背景的原因了
cyberjacky 2003-03-31
  • 打赏
  • 举报
回复
不好意思,话没说完,采样区域的确定,不能对整个图都扫描吧?
cyberjacky 2003-03-31
  • 打赏
  • 举报
回复
to eastsun,你说的没错。可惜我还是不知道什么叫鲁棒性,是不是google一下就能查到?

to ayi: 我给你的链接中的图片,即使不能符合背景色唯一,应该也不至于会影响结果吧?你总可以消掉微小误差吧?现实里的纯背景色也是相对的,实验室里才可能搞出那么绝对的东西。对了,那幅图用你的方法有结果吗?

今天我们领导说,你用直方图,采样区域怎么确定?
eastsun 2003-03-31
  • 打赏
  • 举报
回复


只有实验室的图象背景才是单纯的颜色。所以讲,鲁棒性很差。对付导师是没有问题。对付实际是没有鲁棒性的。
ayi7456 2003-03-31
  • 打赏
  • 举报
回复
嗯? 你不是说背景色唯一吗? 按我的理解背景色唯一意思是纯背景色,就是背景只有一种颜色
shager 2003-03-30
  • 打赏
  • 举报
回复
你是想做一个自定义的窗口吗?
如果是我就贴代码
ayi7456 2003-03-30
  • 打赏
  • 举报
回复
你不觉得你的方法没有数学模型做基础总有点悬吗?... 呵呵,不过我做的东西也有很多依赖经验模型
加载更多回复(17)

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧