【问题标题】:how to combine each RGB pixel into a single hypercomplex number?如何将每个 RGB 像素组合成一个超复数?
【发布时间】:2020-04-08 16:24:00
【问题描述】:

我是 MatLab 及其工具箱的新手。我正在尝试实现this paper 中提到的方法。

提到将图像的每个 RGB 像素组合成一个由一个实部和三个虚部(i、j 和 k)组成的超复形式。

为了找到如何在 MatLab 中将每个 RGB 像素表示为超复杂形式的解决方案,我一直在尝试和搜索太久。它将使用这种超复表示来应用 QFT(四元数傅里叶变换)。

如果有人可以帮助我,我会很高兴。

【问题讨论】:

  • 第 1 步:找到 QFT 的实现。第 2 步:找出该函数期望的输入表示形式。 MATLAB 本身不支持四元数,您可以通过多种不同的方式来表示它们。

标签: image matlab image-processing compression octave


【解决方案1】:

Google 是你的朋友。

发件人:https://books.google.de/books?id=WR5tAgAAQBAJ&lpg=PA110&ots=DpUyuah5XE&dq=hypercomplex%20rgb%20conversion&hl=de&pg=PA112#v=onepage&q=hypercomplex%20rgb%20conversion&f=false

%requires the open-source quaternion toolbox
%Read the input colour RGB (3-channel) n x n x 3 pixels square image
I = imread('input_colour_image.tif');
% Encode RGB image in the three imaginary parts of a quaternion
qI = convert(quaternion(I(:,:,1),I(:,:,2),I(:,:,3)),'double')./256;

【讨论】:

  • 很遗憾,它没有奏效,我按照书中代码中提到的所有步骤进行操作。但无论如何,我找到了解决这个问题的方法。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-05
  • 1970-01-01
相关资源
最近更新 更多