【问题标题】:How to change the histogram colour in MatlabMatlab中如何改变直方图的颜色
【发布时间】:2013-11-24 07:12:09
【问题描述】:

所以我在 Matlab 上很糟糕,我主要通过示例和逐字逐句的解释来学习。 所以记住这一点 - 现在我正试图通过直方图找出给我的一张图像在花药中的可能性有多大。

我想要做的是为每个图像创建 3 个红色、蓝色和绿色直方图,然后将它们添加到一个图像中 - 所以基本上我将有一个图像,其中一个绿色直方图显示绿色,一个红色显示红色和蓝色显示蓝色。

我知道要在 matlab 中显示颜色通道,我必须执行 imhist(image(:,:,1/2/3) 但是,这仍然给了我一个蓝色的直方图。

我查找了一些旨在帮助解决此问题的内容,但它通常针对的是知道自己在做什么的人......没有帮助。 我听到人们说 get(get(gca,'child')) 之类的话,这对我来说似乎是胡言乱语。

SO - 对于我正在尝试做的事情,通过直方图进行图像检测,这是一种合适的方法吗?如果是这样,我如何创建我的 1 个直方图,以各自的颜色显示所有 3 个直方图

干杯

【问题讨论】:

  • 我在几个地方看到过这个:h = findobj(gca,'Type','patch'); set(h,'FaceColor','r','EdgeColor','w') 如果这是最简单的方法,有人可以解释一下吗?我不知道它的作用和作用只是进一步阅读,显然该代码不适用于 imhist
  • 这是一种黑客行为。 findobj 在您的情况下尝试在“patch”类型的当前轴中查找所有图形对象。这些是 matlab 使用的低级图形对象。如果imhist 不使用补丁,这将不起作用,但是例如行。

标签: matlab image-processing colors histogram


【解决方案1】:

你可以使用这个版本的 imhist:

[counts,x] = imhist(...)

然后通过barstem 或类似方法自己绘制直方图。 然后这些功能是完全可定制的,您可以插入您喜欢的颜色、线条样式等。

【讨论】:

  • 干杯,但是我的朋友告诉我,如果我用每个颜色通道创建一个简单的 imhist,然后通过 t1hist = [t1r, t1g, t1b] 之类的操作创建另一个 hist;
猜你喜欢
  • 2012-01-23
  • 2018-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-30
  • 2013-10-17
  • 1970-01-01
  • 2022-01-17
相关资源
最近更新 更多