【问题标题】:octave/ gnuplot - Plot RGB pixel intensitiesoctave/gnuplot - 绘制 RGB 像素强度
【发布时间】:2013-08-07 20:33:18
【问题描述】:

我正在尝试使用 octave 读取输入图像并将其 RGB 值绘制为 3 维图。

我正在使用

阅读图像
im = imread('image')

我如何绘制这个?

另外,是否可以绘制所有 3 层的直方图?

谢谢

【问题讨论】:

  • Octave API doc 表示,当您加载彩色图像时,您的 im 变量将是一个 MxNx3 矩阵,因此您应该已经将“图像数据”作为 RGB 通道。你到底想画什么?
  • 嗨 Sven,我想将我的 RGB 通道绘制为 3D 图。每个维度 1 个通道。或者每个通道单独的直方图。

标签: gnuplot octave


【解决方案1】:

如前所述,Octave API doc 为您提供图像的 MxNx3 矩阵数据集。

R/G/B 通道是 im 矩阵的最后一个维度。 hist 需要一维输入,因此我们需要对其重塑

hist(reshape(im(:,:,1),1,[])) # red
hist(reshape(im(:,:,2),1,[])) # green
hist(reshape(im(:,:,3),1,[])) # blue

关于 3D 情节:您的意思是 3D scatter plot?那么 Octave 的 scatter3 可能会对您有所帮助。

【讨论】:

  • 既然是图片,最好用imhist,不用reshape。但困难在于将三个直方图放在同一个图中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-16
  • 2021-04-11
  • 2023-03-28
相关资源
最近更新 更多