Геометричні, центральні та нормалізовані моменти до третього порядку напівтонового зображення
M = cv2.moments(img)
На виході отримуємо словник, наприклад для зображення
отримуємо
{'m00': 22948586.0,
'm10': 6866263655.0,
'm01': 6013970284.0,
'm20': 2226506039305.0,
'm11': 1799417631482.0,
'm02': 1748143298232.0,
'm30': 769164095261375.0,
'm21': 583499620917638.0,
'm12': 523061390611844.0,
'm03': 548328215547088.0,
'mu20': 172105973872.9095,
'mu11': 25477940.198951833,
'mu02': 172105516347.0926,
'mu30': 39500301.21504896,
'mu21': 8608784.186888447,
'mu12': 2884830.478324109,
'mu03': 19213388.887187116,
'nu20': 0.0003268015312032179,
'nu11': 4.837850587958049e-08,
'nu02': 0.00032680066243536424,
'nu30': 1.565707310596302e-11,
'nu21': 3.4123376081045858e-12,
'nu12': 1.143484993988415e-12,
'nu03': 7.61577570718313e-12}
Нормалізовані інваріантні моменти ( Hu moments)
def HuMoments(img,tolerance=6):
if len(img.shape)==3:
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
moments=cv2.moments(img)
huMoments = cv2.HuMoments(moments).flatten ()
for i in range(0,len(huMoments)):
if huMoments[i]!=0:
huMoments[i]=math.copysign(1, huMoments[i])*math.log10(abs(huMoments[i]))
return np.around(huMoments,tolerance)
Немає коментарів:
Дописати коментар