用MATLAB进行图像处理

图像处理概念、算法和MATLAB

MATLAB算法扩展在R2016b

今年夏天早些时候,我在写一些颜色空间转换代码。在代码中,我有一个Px3矩阵叫做RGB,包含P种颜色,每行一种。我还有一个1x3的向量,v.我需要乘以每一列RGB对应的元素v像这样:

RGB_c = [RGB (: 1) * v (1) RGB (:, 2) * v (2) RGB (:, 3) * v (3)];

但是由于我使用的是MATLAB R2016的内部开发构建(9月14日发布),所以我没有输入上面的代码。相反,我打了这个:

RGB_c = RGB .* v;

在R2016a和更老的MATLAB版本中,这行代码产生了一个错误:

>> RGB_c = RGB .* v错误使用.*矩阵维数必须一致。

在新的版本中,MATLAB隐式地扩大向量v与矩阵大小相同RGB然后进行元素乘法运算。我说“隐式”是因为MATLAB实际上并没有在内存中复制展开的向量。

要阅读所有关于MATLAB矩阵算法的变化,请阅读Loren的MATLAB艺术博客和看我帖子关于它。




发布与MATLAB®R2016b

|
  • 打印
  • 发送电子邮件

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。