史蒂夫与MATLAB图像处理

图像处理的概念、算法和MATLAB

实验室制服的颜色

DSP的提示和技巧

我最喜欢的专业刊物之一IEEE信号处理杂志。它有一个常规的功能叫做“DSP提示和技巧”。In the January 2006 issue, James McNames wrote a tips & tricks article called "An Effective Color Scale for Simultaneous Color and Gray-Scale Publications." Professor McNames, of Portland State University, wrote that while "color is increasingly available for electronic publications at no additional cost ... most color scales are distored when converted to gray scale. [... This] article proposes a color scale that appears as a monotonic gray scale in printed form and significantly enhances the image resolution when viewed in color."

McNames给四个设计原则选择一个有效的颜色(或规模colormap,在MATLAB术语):

  • “的颜色范围应该覆盖尽可能多的可用的颜色范围的,受约束的亮度增加单调(灰度出版物)。
  • “邻近的颜色在整个规模应该尽可能不同。”
  • “两种颜色之间的知觉差异应该大约正比于仓的区别在颜色的规模。”
  • “颜色规模应该直观。”

文章接下来展示一些数学和一些MATLAB代码用于创建这样一个颜色。McNames教授提供了一个完整的MATLAB实现(ColorSpiral.m)在他的想法网站

路径通过L * A * b *颜色空间

McNames文章描述了一个方法,构造一个路径通过RGB空间所需的属性,至少约。我想它可能是在概念上容易形成一个颜色范围通过不同的颜色空间中构建路径,L * a * b *。这种颜色空间分离亮度L *,从两个色差组件,*和b *。

如果你*和b *转换为极坐标,角度对应于色调,和半径对应浓度,或生动的色彩。

让我们做一个颜色,是一个统一的斜坡在L *。* - b *飞机,跟踪一个半圆的半径50的道路,角度不同介于0到π/ 2。

半径= 50;θ= linspace(0,π/ 2,256)。';一个=半径* cos(θ);b =半径* sin(θ);L = linspace (0, 100, 256)。”;实验室= (L, a, b);

现在L * a * b *值转换为sRGB所以我们可以使用它作为一个MATLAB colormap。使用图像处理工具箱功能makecformapplycform

地图= applycform(实验室,makecform (“lab2srgb”));

氡的例子

让我们使用这个colormap看着拉东变换图像。

我= 0 (100100);我(25:75 25:75)= 1;θ= 0:180;(R, xp) =氡(我,θ);imshow (R, [],“InitialMagnification”,“健康”)colormap(地图)

颜色尺度函数在MATLAB中央

这个函数color_scale在MATLAB中央允许您轻松地创建颜色这样的尺度。你可以选择不同的值为半径和角度开始,你指定一个顺时针或逆时针方向路径通过* - b *空间。

colormap (color_scale)

颜色刻度GUI

MATLAB中央提交包含相同color_scale_tool函数,它是一个GUI,让你和滑动条控制颜色尺度参数。它还向您展示了这两个颜色的规模和近似灰度等价的。这里有一个屏幕截图:

试一试。




使用MATLAB®7.2发表

|
  • 打印
  • 发送电子邮件

评论

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

Baidu
map