文件交换的选择

我们最好的用户提交

从灰度图像转换颜色

内容

布雷特本周的选择gray2rgb,通过Jeny Rajan

赢的MATLAB的帽子之一!读下去! !

本周的博客是processing-centric形象,但它包括MATLAB极客们面临的挑战无处不在。当然,Jeny
由于一些swag-it的路上,Jeny !但我还将MATLAB帽子发送给四个读者可以上升到我所带来的挑战
在下面。(谁说MATLAB中央比赛团队得到所有的乐趣吗?)如果你感兴趣,请继续阅读…

灰度,RGB

通常,当我分析彩色图像时,我发现我可以做分析“灰色空间”而不是在颜色空间。那
是,我通常可以得到所有的信息我需要飞机从一个或多个单独的颜色,或从一个灰度表示
的彩色图像。转换成灰度一般简化并经常冒出来这些彩色图像的处理速度。

创建一个灰度图像的线性组合多个colorplanes是一项常见的任务,和一个的图像处理工具箱促进的作用rgb2gray

最近,浏览文件交换的时候,我遇到Jeny的文件,它允许一个转换图像“其他方法”。
也就是说,您可以提供一个灰度图像和彩色图像的面板中你想复制,和gray2rgb将创建一个颜色版本的灰度图像匹配(某种程度上),第二个输入图像的颜色。我是
感兴趣,所以我玩该文件。这是一个示例显示这个函数能做什么:

图次要情节(2 2 1)imshow (“liftingbody.png”);次要情节(2 2 2)imshow (“gantrycrane.png”);colorIm = gray2rgb (“liftingbody.png”、“gantrycrane.png”);次要情节(2,2,3.5)imshow (colorIm)

很明显,许多人发现gray2rgb是有用的;文件交换的文件已经多年,并接近每月100下载。另外,
有几个“谢谢”的好评。尽管如此,我想指出,这个计算很长一段时间在的顺序两个半分钟!Jeny讨论几个方法更快。人能子样品的彩色图像(潜在成本
的质量),或一个可以用“抖动抽样。“不幸的是,没有例子提供了展示一个会实现
这些节省时间的方法。

一个多部分的挑战

深入底层代码,我们看到Jeny函数将输入图像转换为yCbCr。(灰度图像扩展到三维,复制信息的红色,绿色和蓝色colorplanes)。然后,
生成的输出图像处理转换后的图像逐个像素(!),使用一个嵌套循环。工作,但它实际上是缓慢的。我能想到的几种方法来提高性能
这段代码,我敢打赌,我们的一些读者可以。

我将发送一个MATLAB帽第一人完全复制的结果colorIm生成的上面vectorizingJeny gray2rgb的实现!

我还有其他方法时,也会出现同样的问题。例如,使用一个函数以前共享文件交换,我生成这个颜色图片:

创建这张图片,我的电脑上使用函数,花了0.02秒。

可以找到赃物第一人,从我提交文件交换,一个函数生成上图
使用一行命令。(注意,还有一个图像处理工具箱函数,便于相同的计算,
虽然你将不得不使用“巧妙”。)

接下来,我将把赃物的人能想出另一种解决方案,从Jeny实质上的方法不同,
从我使用。唯一的“实质上不同”以外的其他规则是它必须运行很快——1秒或更快,使用相同的输入图像。

现在的问题是:为什么要做这个?谁有一个实际的用例将灰度图像吗
rgb的匹配第二个图片的颜色吗?如果任何人都可以提供一个有趣的用例修改图片
我很想听。赃物第一引人注目的基本原理。(原因我们的目的在这里,像“这看起来很酷”“它创建一个有趣的特殊效应”不算!)

感恩节快乐,matlab快乐!

像往常一样,这篇博客评论是受欢迎的。或为Jeny留下评论在这里

发表与MATLAB®R2012b

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。