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

c++版本opencv计算灰度图像的轮廓点

在这里插入图片描述

代码

#include<iostream>
#include<opencv.hpp>int main()
{std::string imgPath("D:\\prostate_run\\result_US_20230804_141531\\mask\\us\\104.bmp");cv::Mat imgGray = cv::imread(imgPath, 0);cv::Mat kernel = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(5, 5));cv::morphologyEx(imgGray, imgGray, cv::MORPH_OPEN, kernel);/*cv::imshow("w", imgGray);cv::waitKey();*/// 二值化cv::Mat binary;cv::threshold(imgGray, binary, 0, 255, cv::THRESH_BINARY | cv::THRESH_OTSU);/*cv::imshow("w", binary);cv::waitKey();*/std::vector<std::vector<cv::Point>> contours;std::vector<cv::Vec4i> hierachy;cv::findContours(binary, contours, hierachy, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE);std::cout << contours.size() << std::endl;// cv::Mat contourImage = cv::Mat::zeros(imgGray.size(), CV_8UC3);cv::Scalar redColor = cv::Scalar(0, 0, 255);cv::drawContours(contourImage, contours, 0, redColor, 1, cv::LINE_8);/*cv::imshow("w", contourImage);cv::waitKey();*///std::cout << contours[0].size() << std::endl;cv::Mat contourImage2 = cv::Mat::zeros(imgGray.size(), CV_8UC3);for (int i = 0; i < contours[0].size(); ++i){cv::Point point = contours[0][i];cv::circle(contourImage2, point, 1, redColor, -1);}cv::imshow("w2", contourImage2);cv::waitKey();return 0;
}

在这里插入图片描述

相关文章:

c++版本opencv计算灰度图像的轮廓点

代码 #include<iostream> #include<opencv.hpp>int main() {std::string imgPath("D:\\prostate_run\\result_US_20230804_141531\\mask\\us\\104.bmp");cv::Mat imgGray cv::imread(imgPath, 0);cv::Mat kernel cv::getStructuringElement(cv::MORPH…...

【05】ES6:函数的扩展

一、函数参数的默认值 ES6 允许为函数的参数设置默认值&#xff0c;即直接写在参数定义的后面。 1、基本用法 默认值的生效条件 不传参数&#xff0c;或者明确的传递 undefined 作为参数&#xff0c;只有这两种情况下&#xff0c;默认值才会生效。 注意&#xff1a;null 就…...

Ubuntu20.04安装搜狗输入法

1、安装包下载 搜狗输入法linux-首页搜狗输入法for linux—支持全拼、简拼、模糊音、云输入、皮肤、中英混输https://shurufa.sogou.com/linux点击立即下载&#xff0c;根据自己的硬件选择deb安装包。 2、输入法安装 当第一步完成以后&#xff0c;页面会自动跳转至搜狗的安装…...

linux的基础命令

文章目录 linux的基础命令一、linux的目录结构&#xff08;一&#xff09;Linux路径的描述方式 二、Linux命令入门&#xff08;一&#xff09;Linux命令基础格式 三、ls命令&#xff08;一&#xff09;HOME目录和工作目录&#xff08;二&#xff09;ls命令的参数1.ls命令的-a选…...

linux查询某个进程使用的内存量

linux查询某个进程使用的内存量 查进程用的内存&#xff0c;查看进程占用的内存量&#xff0c;centos查询内存使用 查某个进程id使用的内存量 ps -p 24450 -o rss | awk {print int($1/1024)"MB"} 该命令的含义是&#xff1a; ps -p 24450: 查找进程ID为24450的进…...

list的总结

目录 1.什么是list 1.1list 的优势和劣势 优势&#xff1a; 劣势&#xff1a; 2.构造函数 2.1 default (1) 2.2 fill (2) 2.3 range (3) 2.4 copy (4) 3.list iterator的使用 3.1. begin() 3.2. end() 3.3迭代器遍历 4. list容量函数 4.1. empty() 4.2. siz…...

c语言数字转圈

数字转圈 题干输入整数 N&#xff08;1≤N≤9&#xff09;&#xff0c;输出如下 N 阶方阵。 若输入5显示如下方阵&#xff1a; * 1** 2** 3** 4** 5* *16**17**18**19** 6* *15**24**25**20** 7* *14**23**22**21** 8* *13**12**11**10** 9*输入样例3输出样例* 1*…...

Apache Superset数据分析平台如何实现公网实时远程访问数据【内网穿透】

文章目录 前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网穿透&#xff0c;实现公网访问3. 设置固定连接公网地址 前言 Superset是一款由中国知名科技公司开源的“现代化的…...

HarmonyOS应用开发实战—登录页面【ArkTS】

文章目录 本页面实战效果预览图一.HarmonyOS应用开发1.1HarmonyOS 详解1.2 ArkTS详解二.HarmonyOS应用开发实战—登录页面【ArkTS】2.1 ArkTS页面源码2.2 代码解析2.3 心得本页面实战效果预览图 一.HarmonyOS应用开发 1.1HarmonyOS 详解 HarmonyOS(鸿蒙操作系统)是华为公司…...

@RequestMapping

目录 作用&#xff1a; 位置&#xff1a; 属性 1.value 2.method 3.params 4.header 作用&#xff1a; 该注解是一个用来处理请求地址映射的注解。 位置&#xff1a; 可用于映射一个请求或一个方法&#xff0c;可以用在类或方法上。 用于方法上&#xff0c;表示在类的…...

操作系统 应用题 例题+参考答案(考研真题)

1.&#xff08;考研真题&#xff09;一个多道批处理系统中仅有P1和P2两个作业&#xff0c;P2比P1晚5ms到达&#xff0c;它们的计算和I/O操作顺序如下。 P1&#xff1a;计算60ms&#xff0c;I/O 80ms&#xff0c;计算20ms。 P2&#xff1a;计算120ms&#xff0c;I/O 40ms&…...

免费获取GPT-4的五种工具

不可否认&#xff0c;由OpenAI带来的GPT-4已是全球最受欢迎的、功能最强大的大语言模型&#xff08;LLM&#xff09;之一。大多数人都需要使用ChatGPT Plus的订阅服务去访问GPT-4。为此&#xff0c;他们通常需要每月支付20美元。那么问题来了&#xff0c;如果您不想每月有这笔支…...

XTU OJ 1146 矩阵乘法学习笔记

原题 题目描述 给你两个矩阵A(n*k),B(k*m),请求A*B。 输入 第一行是一个整数K&#xff0c;表示样例的个数。 每个样例包含两个矩阵A和B。 每个矩阵的第一行是两个整数n,m,(1≤n,m≤10)表示矩阵的行和列 以后的n行&#xff0c;每行m个整数&#xff0c;每个整数的绝对值不超过…...

基于官方YOLOv4开发构建目标检测模型超详细实战教程【以自建缺陷检测数据集为例】

本文是关于基于YOLOv4开发构建目标检测模型的超详细实战教程&#xff0c;超详细实战教程相关的博文在前文有相应的系列&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a;《基于yolov7开发实践实例分割模型超详细教程》 《YOLOv7基于自己的数据集从零构建模型完整训练、…...

1、Docker概述与安装

相关资源网站&#xff1a; ● docker官网&#xff1a;http://www.docker.com ● Docker Hub仓库官网: https://hub.docker.com/ 注意&#xff0c;如果只是想看Docker的安装&#xff0c;可以直接往下拉跳转到Docker架构与安装章节下的Docker具体安装步骤&#xff0c;一步步带你安…...

论文笔记——FasterNet

为了设计快速神经网络,许多工作都集中在减少浮点运算(FLOPs)的数量上。然而,作者观察到FLOPs的这种减少不一定会带来延迟的类似程度的减少。这主要源于每秒低浮点运算(FLOPS)效率低下。 为了实现更快的网络,作者重新回顾了FLOPs的运算符,并证明了如此低的FLOPS主要是由…...

计算机组成原理-固态硬盘SSD

文章目录 总览机械硬盘vs固态硬盘固态硬盘的结构固态硬盘与机械硬盘相比的特点磨损均衡技术例题 总览 机械硬盘vs固态硬盘 固态硬盘采用闪存技术&#xff0c;是电可擦除ROM 下图右边黑色的块块就是一块一块的闪存芯片 固态硬盘的结构 块大小16KB~512KB 页大小512B~4KB 对固…...

Electron+VUE3开发简版的编辑器【文件预览】

简版编辑器的功能主要是: 打开对话框,选择文件后台读取文件文件前端展示文件内容。主要技术栈是VUE3、Electron和Nodejs,VUE3做页面交互,Electron提供一个可执行Nodejs的环境以及支撑整个应用的环境,nodeJS负责读取文件内容。 环境配置、安装依赖这些步骤就不再叙述了。 …...

docker、elasticsearch8、springboot3集成备忘

目录 一、背景 二、安装docker 三、下载安装elasticsearch 四、下载安装elasticsearch-head 五、springboot集成elasticsearch 一、背景 前两年研究了一段时间elasticsearch&#xff0c;当时也是网上找了很多资料&#xff0c;最后解决个各种问题可以在springboot上运行了…...

【Lombok使用详解】

目录 前言&#xff1a;注解速查1.Lombok概念2.安装Lombok3. 使用Lombok3.1 &#x1f60a;Data3.2 GetterSetter3.3 NonNull3.4 Synchronized3.5 ToString&#xff1a;自动生成toString()方法3.6 Cleanup3.7 EqualsAndHashCode 前言&#xff1a;注解速查 NonNull : 用在成员方法…...

从Radare2到Pwndbg:手把手教你用Unicorn Engine给逆向工具写个插件

从Radare2到Pwndbg&#xff1a;用Unicorn Engine构建高级逆向插件的实践指南 逆向工程工具链的扩展能力是安全研究人员最看重的特性之一。当我们需要动态分析加壳代码、模拟执行加密指令或跟踪复杂控制流时&#xff0c;传统调试器的局限性就会显现。本文将展示如何利用Unicorn …...

智慧校园平台与大模型知识库的融合应用

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

Ubuntu 20.04开发踩坑记:系统自带OpenSSL为啥编译总报错?手把手教你用libssl-dev搞定

Ubuntu 20.04开发实战&#xff1a;解密OpenSSL开发环境配置的底层逻辑 刚接触Linux开发的程序员们&#xff0c;是否曾在Ubuntu上编写网络或加密相关代码时&#xff0c;遭遇过这样的场景&#xff1a;系统明明能正常使用openssl命令&#xff0c;但编译时却疯狂报错"找不到op…...

构建智能聊天机器人的核心技术架构与实践

1. 构建终极AI聊天机器人的核心思路 在当今人机交互领域&#xff0c;AI聊天机器人已经从简单的问答工具进化为具备复杂对话能力的智能体。一个真正优秀的聊天机器人需要融合自然语言处理、上下文理解、个性化响应和持续学习四大核心能力。我在过去三年里主导过7个不同行业的对话…...

告别on message!用Vector CAPL的ChkStart函数精准检查CAN报文周期(附完整代码)

告别on message&#xff01;用Vector CAPL的ChkStart函数精准检查CAN报文周期&#xff08;附完整代码&#xff09; 在汽车电子测试领域&#xff0c;CAN总线报文的周期稳定性直接关系到整车系统的协调性。传统on message事件处理方式虽然简单直接&#xff0c;但随着测试用例复杂…...

5G PUSCH DMRS配置实战:从MATLAB 5G Toolbox函数nrPUSCHDMRS到Type A/B映射选择

5G PUSCH DMRS配置实战&#xff1a;从MATLAB 5G Toolbox函数nrPUSCHDMRS到Type A/B映射选择 在5G上行链路物理层开发中&#xff0c;解调参考信号&#xff08;DMRS&#xff09;的配置直接影响信道估计精度和系统性能。MATLAB 5G Toolbox提供的nrPUSCHDMRS函数封装了3GPP标准中的…...

Apache Cloudberry 2.1.0 发布:多方面改进,积极推进 PostgreSQL 内核升级

Apache Cloudberry 2.1.0 正式发布&#xff0c;继 2.0.0 版本后继续改进数据库内核等。本次更新在查询执行、存储等方面有多项改进&#xff0c;还更新了生态系统组件&#xff0c;且正推进 PostgreSQL 内核升级。版本更新背景Apache Cloudberry 在 2.0.0 版本发布后&#xff0c;…...

TQ2440开发板USB烧录驱动安装避坑指南(Win10/11禁用驱动签名)

TQ2440开发板USB驱动安装全攻略&#xff1a;突破Windows数字签名封锁 第一次拿到TQ2440开发板时的兴奋&#xff0c;很快被Windows那个红色的"第三方INF不包含数字签名信息"警告浇灭——这恐怕是每个嵌入式新手都会经历的"成人礼"。当你在设备管理器里看到那…...

JSONEditor深度解析:现代Web应用中的JSON数据可视化编辑实战指南

JSONEditor深度解析&#xff1a;现代Web应用中的JSON数据可视化编辑实战指南 【免费下载链接】jsoneditor A web-based tool to view, edit, format, and validate JSON 项目地址: https://gitcode.com/gh_mirrors/js/jsoneditor JSONEditor是一款面向开发者和技术决策者…...

Figma中文插件:让英文界面瞬间变中文,设计师的必备效率神器

Figma中文插件&#xff1a;让英文界面瞬间变中文&#xff0c;设计师的必备效率神器 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否曾在Figma的英文界面中迷失方向&#xff1f;菜…...