史蒂夫与MATLAB图像处理

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

Colormap测试图像

今天我想告诉你,为什么我做这些图片:

MATLAB R2014b释放后,我写了几个博客文章(第1部分,第2部分,第3部分,第4部分对新的默认colormap),parula,介绍了释放。

晚些时候,我遇到了一些材料由彼得·Kovesi设计感知统一colormaps(或colourmaps彼得写)。

我特别感兴趣的测试图像彼得设计为目的的视觉评估colormap的感性特征。

由图像叠加正弦信号在一个线性渐变,与正弦信号的振幅越来越小你远离第一行。这里有三个横截面上的形象:第1行,行64和128行。

url =“http://peterkovesi.com/projects/colourmaps/cm_MATLAB_gray256.png”;我= im2double (imread (url));次要情节(1,1)图(我(1:))轴([1 512 0 1])标题(的第一行次要情节(3、1、2)情节(我(64年:))轴([1 512 0 1])标题(“64行”次要情节(3,1,3)情节(我(128年:))轴([1 512 0 1])标题(“128行”)

这是基本代码进行这个测试图像。我要Kovesi的形象略有不同。我将添加一个额外的著重的正弦信号,达到一个峰值在右边的图像,我将添加一个全程线性斜坡底部部分。(如果你仔细看看上面的横截面曲线,你会发现线性斜坡从5%到95%的范围内。)

首先,计算斜坡。

num_cycles = 64.5;pixels_per_cycle = 8;一个= 0.05;宽度= pixels_per_cycle * num_cycles + 1;身高=圆((宽度- 1)/ 4);斜坡= linspace (1 A,宽度);

其次,计算正弦信号。

k = 0:(宽度);x = - * cos((2 *π/ pixels_per_cycle) * k);

现在,不同的正弦信号的振幅的平方距离底部的形象。

q = 0:(高度1);y =((高度- q) /(高度- 1))^ 2;I1 = (y)。* x;

安装坡道上的正弦信号。

我= I1 +坡道;

最后,添加一个全程线性斜坡的底部部分图像。

I =[我;repmat (linspace(0, 1,宽度),(身高/ 4),1)];clf imshow (I)标题(“Colormap测试图像”)

上周,我发表Colormap测试图像文件交换。它包含的功能colormapTestImage为您做所有这些事情。

我= colormapTestImage;

还有另一个函数的语法。如果你通过它colormap的名称,它将显示测试图像使用colormap。例如,下面是测试图像与旧的MATLAB colormap违约,飞机

colormapTestImage (“喷气机”)

这个测试图片说明了为什么我们更换飞机MATLAB colormap作为默认。我已经注释下图显示的一些问题。

现在与新的默认colormap相比,parula

colormapTestImage (“parula”)

我认为这说明了我们试图达到的目标parula:感知数据保真度。

因为我在说什么parula提到,我将完成,我们需要一些非常微妙的调整parula在R2017b释放。所以你可以比较,我将向您展示R2014b附带的原始版本。

colormapTestImage (“parula_original”)

读者们,你能告诉有什么不同吗?在评论中让我们知道。




发表与MATLAB®R2017a

|
  • 打印

评论

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