Matlab - 图像形成算法实现建模

时间:2014-02-09 20:59:55

标签: matlab image-processing

我正在尝试在matlab中实现一个算法。

算法(或阶段)如下:

  • (1)选择光源。
  • (2)计算该光源下所有24个反射率的颜色信号。
  • (3)通过颜色信号将每个传感器响应矢量(列或R(参见变量))逐个元素相乘。
  • (4)对所有波长的结果求和(这应该给我留下72个值:24个R值(每个表面一个),24个G值和24个B值)
  • (5)通过指定100x100像素的正方形,并根据计算出的每个反射率的传感器响应创建图像,并创建4行和6的图案 列(如macbeth colourchecker)。

我想我在第4阶段感到困惑(但我之前可能会错误地实施它)......

这些是我的变量:

   A   %an illuminance vector of size 31x1.
   R   %colour camera sensitivities of size 31x3. (the columns of this matrix are the red, green, and blue sensor response functions of a camera).
   S   %surface reflectances (24) of size 31x24 from a Macbeth ColourChecker (each column is a different reflectance function.
   WAV %Reference wavelength values of size 31x1.

这就是我实施的内容:

(1)选择A(因为它是我唯一制作的)

  A;

(2)所有24种反射的计算颜色信号

  cSig_1A  = S(:,1).*A;
  cSig_2A  = S(:,2).*A;
         .
         .              %all 24 columns of S
         .
  cSig_24A = S(:,24).*A;

(3)通过颜色信号乘以传感器响应矢量(R列(RGB)):

  % R.*reflectances     G.*reflectances     B.*reflectances     
  a1=R(:,1).*cSig_1A;  a12=R(:,2).*cSig_1A;  a13=R(:,3).* cSig_1A;
  b1=R(:,1).*cSig_2A;  b12=R(:,2).*cSig_2A;  b13=R(:,3).* cSig_2A;
         .
         .              %all 24 signals (think this is correct)
         .
  x1=R(:,1).*cSig_24A; x12=R(:,2).*cSig_24A; x13=R(:,3).*cSig_24A;

假设我已经完成了前面的步骤,我不确定你如何将这个超过波长的结果总和只剩下72个值?然后从中创建一个图像。

也许措辞让我感到困惑,但如果你们能给我一些指导,那就太棒了。非常感谢。提前谢谢。

0 个答案:

没有答案