如何使用Python计算图像的能量?

如何使用Python计算图像的能量?,python,opencv,dwt,pywt,Python,Opencv,Dwt,Pywt,我试图计算图像的能量。我想使用python。我从网站上得到了一个解决方案,但有一个 有点让人困惑的是,发布问题的人告诉我们,他的程序的输出与Matlab相比是错误的 我尝试了这两种代码,但给出了相同的答案 import cv2 from pywt import dwt2 import pywt import numpy as np img=cv2.imread("/home/raviraj/PycharmProjects/Diabetic/SYMPTOMS/1369_right.jpeg")

我试图计算图像的能量。我想使用python。我从网站上得到了一个解决方案,但有一个 有点让人困惑的是,发布问题的人告诉我们,他的程序的输出与Matlab相比是错误的

我尝试了这两种代码,但给出了相同的答案

import cv2
from pywt import dwt2
import pywt
import numpy as np
img=cv2.imread("/home/raviraj/PycharmProjects/Diabetic/SYMPTOMS/1369_right.jpeg")
im = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, (cH, cV, cD) = dwt2(im.T, 'db1')
# a - LL, h - LH, v - HL, d - HH as in matlab
Energy = (cH**2 + cV**2 + cD**2).sum()/im.size

print(Energy)
此代码给出输出0.5311041623967175,下一个代码为

im = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
m,n = im.shape
print(im.shape)
print(m)
print(n)
cA, (cH, cV, cD) = pywt.dwt2(im,'db1')
# a - LL, h - LH, v - HL, d - HH as in matlab
cHsq = [[elem * elem for elem in inner] for inner in cH]
cVsq = [[elem * elem for elem in inner] for inner in cV]
cDsq = [[elem * elem for elem in inner] for inner in cD]
Energy = (np.sum(cHsq) + np.sum(cVsq) + np.sum(cDsq))/(m*n)
print (Energy)
此代码也提供相同的输出
0.5311041623967174

所以我很困惑是对还是错

代码输出截图

正在尝试从中计算能量的图像