当前位置: 首页 > news >正文

c++版opencv求二值图的质心

代码

#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>int main(int argc, char* argv[])
{cv::Mat input_image = cv::imread("Untitled.png", cv::IMREAD_GRAYSCALE);cv::Mat thr;cv::threshold(input_image, thr, 0, 255, cv::THRESH_BINARY_INV);cv::imshow("w", thr);cv::Moments m = cv::moments(thr, true);double centroid_x = m.m10 / m.m00;double centroid_y = m.m01 / m.m00;std::cout << "Centroid: (";std::cout << centroid_x << ", ";std::cout << centroid_y << ")" << std::endl;std::vector<cv::Mat> input3channel;input3channel.emplace_back(input_image);input3channel.emplace_back(input_image);input3channel.emplace_back(input_image);cv::Mat dst;cv::merge(input3channel, dst);circle(dst, cv::Point(centroid_x,centroid_y), 2, cv::Scalar(0,0,255), -1);cv::imshow("show", dst);cv::waitKey();return EXIT_SUCCESS;
}

结果

图1: w

在这里插入图片描述

图2:show

在这里插入图片描述

相关文章:

c++版opencv求二值图的质心

代码 #include <iostream> #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> #include <opencv2/imgproc.hpp>int main(int argc, char* argv[]) {cv::Mat input_image cv::imread("Untitled.png", cv::IMREAD_GRAYSCALE);cv:…...

6、深入解析Kotlin类与对象:构造、伴生、单例全面剖析

前言 本篇文章将带您了解Kotlin编程中的重要概念&#xff1a;类及构造函数、访问修饰符、伴生对象和单例模式。就像搭积木一样&#xff0c;我们会逐步揭开这些概念的面纱&#xff0c;让您轻松理解它们的作用和用法。无论您是编程新手还是有经验的开发者&#xff0c;本文都将为…...

【开源ESP32谷歌恐龙小游戏】【游戏演示和介绍】LVGL ST7789 适用于Arduino

【源码及教程地址-持续更新】 ESP32 C3 LVGL 迷你小电视 Google谷歌恐龙小游戏 1.9寸LCD显示屏开发板 ST7789 适用于Arduino开发板,教程,资料,程序,代码,PDF手册 【开源 & ESP32谷歌恐龙小游戏】【游戏演示和介绍】LVGL ST7789 适用于Arduin...

openCV实战-系列教程7:轮廓检测2与模板匹配(轮廓检测/轮廓特征/轮廓近似/轮廓边界矩阵/轮廓边界圆/模版匹配)、原理解析、源码解读

&#x1f9e1;&#x1f49b;&#x1f49a;&#x1f499;&#x1f49c;OpenCV实战系列总目录 打印一个图片可以做出一个函数&#xff1a; def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows() 1、轮廓特征与近似 1.1 轮廓特征 前面我们计算了…...

cs231n_1_IntroToConv

参考的视频来自如下链接https://www.bilibili.com/video/BV1Ed4y1b7bm/ 参考笔记如下https://blog.csdn.net/TeFuirnever/article/details/89059673 x.1 CV历史 生物快速发展于5.4亿年前&#xff0c;那时的化石显示生物进化出了视觉&#xff0c;视觉使得生物多样性大爆炸。 …...

OPENCV实现SURF特征检测

1、SURF优点:SIFT速度慢,一次出现了SURF;2、使用SURF步骤:surf = cv2.xfeatures2d.SURF_create()kp,des = surf.detectAndComputer(img,mask)# -*- coding:utf-8 -*- """ 作者:794919561 日期:2023/8/31 """# -*-...

Android Gradle 同步优化

作者&#xff1a;究极逮虾户 很多人听到方法论三个字&#xff0c;就觉得我要开始pua&#xff0c;说我阿里味&#xff0c;但是我觉得这个查问题的方式可能会对大家有点帮助。 很多人都会有这样的困扰&#xff0c;给你的一个工作内容是一个你完全陌生的东西&#xff0c;第一选择…...

BeautifulSoup:学习使用BeautifulSoup库进行HTML解析和数据提取。

BeautifulSoup是一个用于解析HTML和XML文档的Python库。它可以帮助我们从网页中提取数据&#xff0c;并以易于操作的方式进行分析。 以下是使用BeautifulSoup进行HTML解析和数据提取的基本语法&#xff1a; 安装BeautifulSoup库&#xff1a;首先&#xff0c;你需要在你的Python…...

基于沙猫群算法优化的BP神经网络(预测应用) - 附代码

基于沙猫群算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于沙猫群算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.沙猫群优化BP神经网络2.1 BP神经网络参数设置2.2 沙猫群算法应用 4.测试结果&#xff1a;5.Matlab代…...

PCL 判断三点共线(三维空间)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 继续之前的思路PCL 判断两条线段的平行性(三维空间),我们可以把判断三点共线看做是判断两条线段是否具有平行性,且这两条线段共用其中一个端点,基于此当这两条线段平行时,则证明这三点共线。 二、实现代码 /…...

【数据库】事务(概念和特点)

一、 什么是事务&#xff1a; 事务是在数据库中执行的一系列操作单元&#xff0c;这些操作要么全部成功提交&#xff0c;要么全部失败回滚。 二、事务的特点&#xff1a; 原子性&#xff08;Atomicity&#xff09;&#xff1a;事务是一个不可分割的操作单元&#xff0c;要么…...

LA@齐次线性方程组解的结构

文章目录 齐次线性方程组解的结构&#x1f388;解的性质齐次线性方程组的解的线性组合还是方程组的解基础解系通解 定理:齐次线性方程组基础解系存在定理齐次线性方程组的基础解系包含的向量个数(秩)&#x1f47a;应用和示例推论1推论2推论3:转置矩阵对的乘积秩的性质非自由未知…...

Docker修改容器ulimit的全部方案及各方案的详细步骤

要修改Docker容器的ulimit&#xff08;用户资源限制&#xff09;&#xff0c;有以下三种方案&#xff0c;每个方案的详细步骤如下&#xff1a; 方案一&#xff1a;在Dockerfile中设置ulimit 打开您的Dockerfile。在文件中添加以下命令来修改ulimit&#xff1a;RUN ulimit -n …...

进程间通信-Binder

Binder Binder框架概述服务端Binder驱动客户端 设计服务端和客户端设计服务端客户端设计 Binder与ServiceServiceAIDL 保证包裹内参数顺序IMusicPlayerServiceProxyStub 系统服务中的Binder对象ServiceManger管理的服务理解Manger功能快捷键合理的创建标题&#xff0c;有助于目…...

一个简单的vim例子

一.欢迎来到我的酒馆 在本章节介绍vim工具。 目录 一.欢迎来到我的酒馆二.什么是vim三.开始使用vim 二.什么是vim 2.1什么是vim vim是一种Linux命令行类型的文本编辑器。vim指的是"vi improved"&#xff0c;意思是vi工具的升级版。vim是基于vi实现的&#x…...

sql server 备份到网络共享

场景&#xff1a;sql server服务器A将数据库备份文件备份到服务器B 1&#xff09;服务器B创建共享目录 这里我将 D:\ProDbBak 共享&#xff0c;并且Everyone完全控制 2&#xff09;sql server服务器A能够访问服务器B共享目录&#xff0c;并且能完全控制 3&#xff09;修改服务…...

程序与进程

一、程序是怎么被执行的 1.在程序中&#xff0c;由引导代码去调用程序中得main函数&#xff0c;而这个过程由链接器完成&#xff0c;链接器将引导代码链接到我们的应用程序构成可执行文件。 2.程序运行需要通过操作系统的加载器来实现&#xff0c;加载器是操作系统中的程序&a…...

大模型从入门到应用——LangChain:链(Chains)-[链与索引:图问答(Graph QA)和带来源的问答(QA with Sources)]

分类目录&#xff1a;《大模型从入门到应用》总目录 图问答&#xff08;Graph QA&#xff09; 创建图 在本节中&#xff0c;我们构建一个示例图。目前&#xff0c;这对于较小的文本片段效果最好&#xff0c;下面的示例中我们只使用一个小片段&#xff0c;因为提取知识三元组对…...

spark sql 数据倾斜--join 同时开窗去重的问题优化

spark sql 数据倾斜–join 同时开窗去重的问题优化 文章目录 spark sql 数据倾斜--join 同时开窗去重的问题优化结论1. 原方案&#xff1a;join步骤时&#xff0c;同时开窗去重数据倾斜 2. 优化2.1 参数调优2.2 SQL优化 背景&#xff1a; 需求&#xff1a;在一张查询日志表中&a…...

lv3 嵌入式开发-linux介绍及环境配置

目录 1 UNIX、Linux和GNU简介 2 环境介绍 3 VMwareTools配置 4 vim配置&#xff1a; 1 UNIX、Linux和GNU简介 什么是UNIX? unix是一个强大的多用户、多任务操作系统&#xff0c;支持多种处理器架构 中文名 尤尼斯 外文名 UNIX 本质 操作系统 类型 分时操作系统 开…...

RabbitMQ工作模式-路由模式

官方文档参考&#xff1a;https://www.rabbitmq.com/tutorials/tutorial-four-python.html 使用direct类型的Exchange,发N条消息并使用不同的routingKey,消费者定义队列并将队列routingKey、Exchange绑定。此时使用direct模式Exchange必须要routingKey完成匹配的情况下消息才…...

StringIO BytesIO

上一篇中我们介绍了文件的基本读写操作&#xff0c;但是很多时候数据的读写并不一定都是在文件中&#xff0c;我们也可以在内存中读写数据&#xff0c;因此引出我们今天的主要内容&#xff0c;即 StringIO 和 BytesIO&#xff0c;让你学会在内存中进行数据的基本读写操作。 1 …...

通讯录管理系统(个人学习笔记黑马学习)

1、系统需求 通讯录是一个可以记录亲人、好友信息的工具。 本教程主要利用C来实现一个通讯录管理系统系统中需要实现的功能如下: 添加联系人:向通讯录中添加新人&#xff0c;信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人显示联系人:显示通讯录中所有联系人信…...

[SpringBoot3]远程访问@HttpExchange

六、远程访问HttpExchange[SpringBoot3] 远程访问是开发的常用技术&#xff0c;一个应用能够访问其他应用的功能。SpringBoot提供了多种远程访问的技术。基于HTTP协议的远程访问是最广泛的。SpringBoot中定义接口提供HTTP服务。生成的代理对象实现此接口&#xff0c;代理对象实…...

Linux安装ntp并使用阿里云配置ntp服务器

安装 NTP 客户端&#xff1a; 打开终端&#xff0c;以 root 权限执行以下命令来安装 NTP 客户端&#xff1a; sudo zypper install ntp 编辑 NTP 配置文件&#xff1a; 使用文本编辑器打开 NTP 的配置文件 /etc/ntp.conf&#xff0c;例如使用 nano 编辑器&#xff1a; sudo v…...

js常用方法总结

1、slice 和 splice slice表示截取&#xff0c;slice(start,end)&#xff0c;不改变原数组&#xff0c;返回新数组。 splice表示删除&#xff0c;splice(start,length,item)&#xff0c;会改变原数组&#xff0c;从某个位置开始删除多个元素&#xff0c;并可以插入新的元素。…...

在PHP中安装Composer并管理Vue前端依赖包

系列文章目录 文章目录 系列文章目录前言一、安装Composer二、使用Composer管理PHP依赖包三、使用npm管理Vue前端依赖包总结 前言 在开发Web应用程序时&#xff0c;使用Composer来管理PHP的依赖包和Vue前端的依赖包是一种很常见的做法。Composer是PHP的包管理工具&#xff0c;…...

03-前端基础CSS-第一天

01-CSS层叠样式表导读 目标&#xff1a; 能够说出什么是CSS能够使用CSS基础选择器能够设置字体样式能够设置文本样式能够说出CSS的三种引入方式能够使用Chrome调试工具调试样式 目录&#xff1a; 1.CSS简介2.CSS基础选择器3.CSS字体属性4.CSS文本属性5.CSS引入方式6.综合案…...

多张图片转为pdf怎么弄?

多张图片转为pdf怎么弄&#xff1f;在网络传输过程中&#xff0c;为了避免图片格式文件出现差错&#xff0c;并确保图片的清晰度和色彩不因不同设备而有所改变&#xff0c;常见的做法是将图片转换为PDF格式。然而&#xff0c;当涉及到多张图片时&#xff0c;逐一转换将会变得相…...

jdk新版本特性

JDK8,JDK11,JDK17,JDK21及中间版本主要更新特性_jdk重要版本_ycsdn10的博客-CSDN博客 Java 20 新特性概览 | JavaGuide(Java面试 学习指南)...