我想找出相框的能量。 这就是我在Matlab中的计算方法。在
[~,LH,HL,HH] = dwt2(rgb2gray(maskedImage),'db1'); % applying dwt
E = HL.^2 + LH.^2 + HH.^2; % Calculating the energy of each pixel.
Eframe = sum(sum(E))/(m*n); % m,n row and columns of image.
当我在python中为同一个图像编程时,预期的0.7的能量值为170 我的程序哪里出问题了,请提出建议
^{pr2}$
分析的问题是numpy数组和MATLAB矩阵的顺序不同(默认情况下)。二维numpy数组的第一维是行,而2D MATLAB矩阵的第一维是列。
dwt2
函数依赖于此顺序。因此,为了得到dwt2
的相同输出,需要在使用numpy数组之前对其进行转置。在此外,
dwt2
输出numpy数组,而不是列表,因此您可以像在MATLAB中那样直接对它们进行数学运算。在此外,您可以使用}的相乘。在
size
获得图像的总大小,从而省去了m
和{因此,假设颜色通道的顺序正确(BGR vs.RGB),这应该给MATLAB提供等效的结果:
相关问题 更多 >
编程相关推荐