图像阶矩及重心计算

news/2024/7/21 3:52:29 标签: 计算机视觉, 图像处理, opencv

理论:

在这里插入图片描述

图像的矩

零阶矩

在这里插入图片描述
这里的图像是单通道图像, V(i,j)V(i,j)表示图像在 (i,j)(i,j)点上的灰度值。
我们可以发现,当图像为二值图时, M00就是这个图像上白色区域的总和,因此, M00可以用来求二值图像(轮廓,连通域)的面积

一阶矩

在这里插入图片描述
当图像为二值图时, V(i,j) 只有0(黑),1(白)两个值。 M10 就是图像上所以白色区域 x坐标值的累加。因此,一阶矩可以用来求二值图像的重心:
在这里插入图片描述
##二阶矩
在这里插入图片描述
二阶矩可以用来求物体形状的方向:
在这里插入图片描述
在这里插入图片描述
##代码
Mat image = imread(imagename, 0);//读入灰度图
Mat binary;
//二值,椭圆是黑色的,所以反色下
threshold(image, binary, 200, 255, CV_THRESH_BINARY_INV);
Moments m = moments(binary, true);//moments()函数计算出三阶及一下的矩
Point2d center(m.m10 / m.m00, m.m01 / m.m00);//此为重心
//计算方向
double a = m.m20 / m.m00 - center.xcenter.x;
double b = m.m11 / m.m00 - center.x
center.y;
double c = m.m02 / m.m00 - center.ycenter.y;
double theta = fastAtan2(2
b,(a - c))/2;//此为形状的方向


http://www.niftyadmin.cn/n/171889.html

相关文章

Harbor仓库开启SSL

目录一、部署docker二、安装docker-compose三、安装harbor下载离线安装包:创建CA证书(把11.0.1.5改成你自己的harbor的服务器IP)修改harbor.yaml文件将证书加为受信任的证书:开始安装harbordocker登录私有仓库测试:四、…

893. 集合-Nim游戏

Powered by:NEFU AB-IN Link 文章目录893. 集合-Nim游戏题意思路代码893. 集合-Nim游戏 题意 给定 n堆石子以及一个由 k个不同正整数构成的数字集合 S 现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合 …

day12-函数进阶

1. return 注意:return只能在函数体中使用 将数据作为函数的返回值返回结束函数(执行函数体的时候如果遇到return,函数直接结束) def fun1(n):for x in range(1, n):if x % 3 0:return xprint(x)print(fun1(5))2. 变量作用域 2.1 变量作用域 变量作…

计讯物联二次供水水池泵站监测方案,从根本上保障居民饮用水安全

方案背景 水质污染、设施故障率高、供水压力、安防缺失、故障反馈周期长等城市高楼大厦高层供水问题层出不穷,给二次供水安全带来隐患和威胁。为确保高层住宅安全稳定地进行二次供水,计讯物联利用新一代物联网技术、信息技术、云计算、大数据、数字孪生技…

每个开发人员都需要掌握的10 个基本 SQL 命令

SQL 是一种非常常见但功能强大的工具,它可以帮助从任何数据库中提取、转换和加载数据。数据查询的本质在于SQL。随着公司和组织发现自己处理的数据量迅速增加,开发人员越来越需要有效地使用数据库来处理这些数据。所以想要暗恋数据领域,SQL是…

jQuery(学习笔记1.0)

jQuery是一个JavaScript库。 jQuery极大地简化了JavaScript编程 jQuery库可以通过一行简单的标记被添加到网页中。 jQuery库包含以下特性: HTML元素选取 HTML元素操作 CSS操作 HTML事件函数 JavaScript特效和动画 HTML DOM遍历和修改 AJAX utilities 可以…

【洛谷 P1803】凌乱的yyy / 线段覆盖 题解(贪心算法+结构体排序)

凌乱的yyy / 线段覆盖 题目背景 快 noip 了,yyy 很紧张! 题目描述 现在各大 oj 上有 nnn 个比赛,每个比赛的开始、结束的时间点是知道的。 yyy 认为,参加越多的比赛,noip 就能考的越好(假的&#xff0…

[vue问题]Uncaught SyntaxError: Not available in legacy mode

[vue问题]Uncaught SyntaxError: Not available in legacy mode问题描述问题分析解决方案直接回退vue-i18n的版本解决错误提示的问题问题描述 Uncaught SyntaxError: Not available in legacy modeat Object.createCompileError (message-compiler.cjs.js?af13:58:1)at creat…