计算不变矩的代码matlab,hu不变矩--python

本文介绍了如何使用Python实现图像的Hu不变矩提取,对比了自己编写的代码和OpenCV库的功能,探讨了Hu矩在图像分类和旋转不变性中的应用,并注意到小数值可能带来的比较难题。
摘要由CSDN通过智能技术生成

由于网上关于Hu矩的定义的内容较多,代码实现部分又多为matlab、C++或者opencv等,因此本文将主要介绍如何用python实现Hu矩的提取。后续可能会利用Hu矩进行图片分类以及平移、旋转不变性的实验,有时间做的话到时候会放上来结果。

本篇博客内容参考图像的七个不变矩 可用于图像的匹配中的matlab代码,在其基础上进行修改而成。

#-*-coding:utf-8-*-

import cv2

from datetime import datetime

import numpy as np

np.set_printoptions(suppress=True)

def humoments(img_gray):

''''''

# 标准矩定义为m_pq = sumsum(x^p * y^q * f(x, y))

row, col = img_gray.shape

#计算图像的0阶几何矩

m00 = img_gray.sum()

m10 = m01 = 0

# 计算图像的二阶、三阶几何矩

m11 = m20 = m02 = m12 = m21 = m30 = m03 = 0

for i in range(row):

m10 += (i * img_gray[i]).sum()

m20 += (i ** 2 * img_gray[i]).sum()

m30 += (i ** 3 * img_gray[i]).sum()

for j in range(col):

m1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值