百科问答小站 logo
百科问答小站 font logo



彩色图片是通过何种算法变成黑白图片? 第1页

  

user avatar   xia-yang-7 网友的相关建议: 
      

我来补充一个当年二师兄

@卢策吾

的一篇非常有趣的作品:

Contrast Preserving Decolorization

,已被收录进

OpenCV 3.0及之后的版本中

简单来说,目前市面上绝大多数的彩色转黑白都是通过一个确定的函数Gray=f(R,G,B)将彩色空间映射到灰度空间。然而很容易想到的是,对于任何一个『事先确定好』的映射,我们总是能找到一些『坏』的数据,使得原先还算正常的彩图变成『很糟糕』的灰度图。例如:

理由也很简单:毕竟彩色空间到灰度空间降了两个维度,对于『事先确定好』的映射函数f,我们总是能找到颜色略有不同但灰度接近的情况。

那么如果我们换一个思路:这个映射函数本身是根据输入图像动态计算出来的。换句话说,对于不同的图,这个映射函数可以是不一样的!即使是同一个颜色,在不同的图像中也可能被映射成不同的灰度。这听起来似乎有点奇怪,但其实也合理——为什么非得一样呢?

于是我们回到问题的源头来思考:彩色转黑白的目的是什么?比如相当常见的一种情况就是印刷。如果产生灰度图最终的目的是给人(或者某些算法)来看的话,人们关心的未必是『不同图片里的同一种颜色必须要映射成同一级灰度』。更多的时候,是『原来彩图里的东西(物体、结构)转换成黑白也要能看得清』。

因此,二师兄这篇文章的重点在于,在转化映射函数的过程中尽量『保持图像的对比度不变』。原文的关键是一个最高不超过二次的多项式模型,以及一套用来保持对比度的optimization方法,不过我不打算在这里展开数学细节,大家可以自己慢慢读文章理解,但保持对比度的这个思路我觉得是相当有意思的。贴几张效果图感受一下:




  

相关话题

  阿里巴巴公司根据截图查到泄露信息的具体员工的技术是什么? 
  文件体积达到 1 GB 甚至 1 TB 的图片会呈现何种内容? 
  不用计算机程序,如何求1,2,…,n中所有与n互素的数的平方和? 
  两张图片就颜色不一样,dpi,尺寸都一样为什么体积相差这么大(20M)? 
  台式电脑放在没有网线的房间怎么办? 
  如何评价openai的新工作DALL·E? 
  0x5f3759df这个快速开方中的常数的数学依据是什么? 
  电脑用Equalizer APO听歌效果开太多出现爆音咋办? 
  中国人工智能图像识别技术的开创者是谁? 
  怎样把扭曲的直线图像修直? 

前一个讨论
抗战时期国军将领中有哪些话曾让人印象深刻?
下一个讨论
马前卒为什么这么博学多才?





© 2025-05-17 - tinynew.org. All Rights Reserved.
© 2025-05-17 - tinynew.org. 保留所有权利