hu矩为描述整体图像特征的一种方法,零阶矩表示它的总质量;一阶矩表示它的质心;二阶矩又叫惯性矩,表示图像的大小和方向。

通过计算普通矩可以知道图像的重心坐标、形状方向等;

Mat imgSrc = imread("lena.jpg", IMREAD_GRAYSCALE);

threshold(imgSrc, imgSrc, 50, 255, THRESH_BINARY);

Moments mom = moments(imgSrc, false);// Calculate Moments

double huMoments0[7];

double huMoments[7];

HuMoments(mom, huMoments0);// Calculate Hu Moments

for (int i = 0; i < 7; i++)

{

double dbValue = copysign(1.0, huMoments0[i]);

huMoments[i] = -1 * dbValue * log10(abs(huMoments0[i]));

}

vector> contour;

findContours(imgSrc, contour, RETR_CCOMP, CHAIN_APPROX_SIMPLE);

double dbValue = matchShapes(contour, contour, CONTOURS_MATCH_I1, 0);

论文:Visual pattern recognition by moment invariants

android opencv hu moment,学习OpenCV:hu矩相关推荐

  1. java用opencv实现滤镜,学习OpenCV:滤镜系列(14)——载入选区

    ============================================== 版权所有: 小熊不去实验室 CSDN博客 ================================ ...

  2. android端使用openCV与深度学习实现车牌识别

    车牌识别的应用场景随处可见:高速公路上超速抓拍.小区门口关卡.车库入口关卡,甚至出现在车载设备上.它的工作原理大致这样:使用摄像头充当"眼睛",使用openCV与深度学习充当&qu ...

  3. 【从零学习OpenCV 4】Mat类构造与赋值

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

  4. OpenCV与图像处理学习一——图像基础知识、读入、显示、保存图像、灰度转化、通道分离与合并

    OpenCV与图像处理学习一--图像基础知识.读入.显示.保存图像.灰度转化.通道分离与合并 一.图像基础知识 1.1 数字图像的概念 1.2 数字图像的应用 1.3 OpenCV介绍 二.图像属性 ...

  5. 【从零学习OpenCV 4】Windows系统中安装OpenCV 4

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

  6. openCV学习系列1:我为什么要学习openCV,什么是openCV

    OpenCV:Open Source Computer Vision Library  开源计算机视觉库 个人学习openCV两个原因:1.看好计算机视觉技术未来广阔市场前景:2.为产品做升级引入新技 ...

  7. 学习|OpenCV图片修复函数inpaint

    学更好的别人, 做更好的自己. --<微卡智享> 本文长度为2020字,预计阅读6分钟 OpenCV图片修复 最近重新学习OpenCV的基础,偶然间发现了npaint的函数,于是就自己做了 ...

  8. 深度学习-82:OpenCV与深度学习

    深度学习-82:OpenCV与深度学习 深度学习原理与实践(开源图书)-总目录, 建议收藏,告别碎片阅读! 随着机器学习,计算机视觉和计算能力的日益成熟,计算机视觉被广泛应用于人机互动.物体识别.图像 ...

  9. 如何从入门开始学习OpenCV?

    下面先给大家介绍下OpenCV的简介.安装及基本操作,更多详情可以看这个视频,学完之后可完成opencv人脸识别案例. 黑马程序员人工智能教程_10小时学会图像处理OpenCV入门教程_哔哩哔哩_bi ...

最新文章

  1. 免安装的mysql删除_MySQL5.7 免安装版配置及删除图文教程
  2. loadrunner中变量和参数之间的转化实例
  3. BlockChain:BlockChain周边概念详解+个人理解
  4. 我与Python网络爬虫的第一次接触
  5. Offline creation url pattern
  6. DELL6224交换机基本配置命令明细
  7. HDU1232——通畅工程(并查集)
  8. C#里如何遍历枚举所有的项
  9. 马云行业预测:人工智能下,未来10年机器人占领职场
  10. 别怕,“卷积“其实很简单
  11. HTTP2还没用上,HTTP3就出来了
  12. Jquery中BlockUI的详解
  13. Java--对象的克隆
  14. 计算机二级的理论知识点,计算机二级必备知识点
  15. Eclipse LDT 安装
  16. LensFlare Studio for Mac(镜头光晕特效工具)
  17. 每日一练 — 2021.12.30
  18. flex 两列多行布局
  19. 在 iOS13 及以前,App 请求用户定位授权时为如下形态
  20. b级车里有比迈腾空间更大的车吗?

热门文章

  1. 多领导者改进算法的MATLAB仿真
  2. 五、linux总线中设备和驱动注册流程详解
  3. 在iview项目中添加echarts3
  4. JQuery.Ajax()的data参数传递方式
  5. .NET 进程和线程
  6. Spring的Hello, world,还有拿来主义
  7. Java中伪造referer来获取数据
  8. 【MongoDB学习笔记7】深入MongoDB的删除(remove/drop)操作
  9. ANDROID 学习笔记(二) 用户登陆问题 TOKEN SESSION 缓存
  10. PAT甲级1077 Kuchiguse:[C++题解]字符串、最长公共后缀