如果我将两个正值分开,为什么我会得到负值?

时间:2016-05-05 14:03:13

标签: matlab image-processing

我使用以下代码查找积极因素:

[U S V] = svd(image, 'econ'); % calculate the SVD of the image

level = 4;
factorJND = jnd(image, level) ; % calculate the JND values of the image
f = factorJND / abs(U*V)  % divide the JND value by the multiplication of U and V matrices( they have the same size)

知道因子JND和abs(U * V)都是正数,它给出了正数和负数!!我不知道为什么!

f = -7.2851    6.4520
    -7.7509    5.5236
    -7.3374    4.1684
    -5.6905    5.0915

我甚至尝试这样做:

f = abs(factorsJND) / abs(U*V)

但是仍然给我相同的结果,而它应该是所有正值!

1 个答案:

答案 0 :(得分:2)

您正在使用matrix right division/)而不是an element-wise division./)。因此,结果可能对两个输入具有负值,其中所有值本身都是正值。你很可能是元素划分。

f = factorJND ./ abs(U*V);