opencv图像处理

// 提取路口轮廓集合(每个路口的轮廓为一系列点集)
std::vector<std::vector<cv::Point>> node_contours;
std::vector<cv::Vec4i> node_hierarchy;保存轮廓的层次关系// 只提取外轮廓 轮廓近似方法:水平垂直对角线只保留端点
cv::findContours(node_mat, node_contours, node_hierarchy, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE);
for (size_t i = 0; i < line_contours.size(); i++) {
// 为每个轮廓创建一个独立的图像
cv::Mat contour_mask = cv::Mat::zeros(road_line_mat.size(), CV_8UC1);//要绘制的轮廓索引 -1表示绘制全部
cv::drawContours(contour_mask, line_contours, static_cast<int>(i), cv::Scalar(255), -1);
std::string filename = "./tmp_line_png/output_contour_" + std::to_string(i) + ".jpg";// 将该轮廓的图像保存到文件cv::imwrite(filename, contour_mask);}cv::Mat line_connect_image = cv::Mat::zeros(road_line_mat.size(), CV_8UC1);//新建一个与路线图相同大小的黑白图像
// 轮廓进行填充    在此图上绘制轮廓        所有线轮廓    当前轮廓索引 白色   填充模式  线型  层次信息
cv::drawContours(line_connect_image, line_contours, index, 255, cv::FILLED, 8, line_hierarchy);
cv::Mat contour_mask = cv::Mat::zeros(road_line_mat.size(), CV_8UC1);
cv::polylines(contour_mask, line_connect_points, false, cv::Scalar(255), 2);
std::string filename = "./tmp_line_png/output_segments_" + std::to_string(index) +".jpg";
cv::imwrite(filename, contour_mask);使用cv::polylines函数在contour_mask图像上绘制由
line_connect_points定义的多边形线段。false参数表示多边形是否闭合,
cv::Scalar(255)表示线段的颜色(这里是白色),2表示线段的厚度为2个像素。


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/491934.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何移除禁用WordPress默认小工具(附WordPress默认小工具名称)

WordPress 自带的小工具非常多&#xff0c;但是我们用到的也就那么几种&#xff0c;甚至一种都不会用到&#xff0c;所以很有必要注销&#xff08;去除&#xff09;掉一些不用的小工具。实现的方法也很简单&#xff0c;只需将以下代码&#xff0c;根据自己的情况删除需要用的小…

GPU over IP/IB:趋动OrionX产品的创新之路

在数字化转型的浪潮中&#xff0c;GPU over IP/IB技术正成为数据中心和云计算领域的一股新兴力量。这种技术通过将物理GPU资源虚拟化&#xff0c;实现了跨网络的高效利用&#xff0c;为AI、机器学习、科学计算等高性能计算任务提供了前所未有的灵活性和扩展性。 本文将深入探讨…

时序预测 | Matlab实现基于GRNN广义回归神经网络的光伏功率预测模型

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 1.时序预测 | Matlab实现基于GRNN广义回归神经网络的光伏功率预测模型 2.单变量时间序列预测; 3.多指标评价,评价指标包括:R2、MAE、MBE等,代码质量极高; 4.excel数据,方便替换,运行环境2020及以上。 广义回…

Python in Excel的一些使用心得

获得Python in Excel的preview之后, 就在任意的Excel单元格里可以敲py(来写Python代码了。不过Python in Excel并没有什么专门的文档, 只有一些_Get Started_教程, 比如link 1, link 2, 剩下的就是pandas, matplotlib, seaborn等lib的文章&#xff0c;和Python in Excel并没有什…

YOLOv9来了,可编程梯度信息与广义高效层聚合网络 助力全新检测SOTA前沿

本文首发&#xff1a;AIWalker 欢迎关注AIWalker&#xff0c;近距离接触底层视觉与基础AI技术 摘要 当今的深度学习方法侧重于如何设计最合适的目标函数&#xff0c;以便模型的预测结果最接近真实情况&#xff1b;与此同时&#xff0c;必须设计一个适当的架构&#xff0c;以便…

990-11产品经理:Team Building in Project Management 项目管理中的团队建设

Introduction One of the most important developments in management during the 1970’s has been the widespread application广泛应用 of project teams to a variety of complex tasks. Project managers quickly learn the critical significance批判意义 of the effect…

TMGM外汇开户需要提供以下材料:

TMGM外汇开户需要提供以下材料&#xff1a; 身份证明&#xff1a;通常需要提供有效的身份证明文件&#xff0c;如身份证、护照或驾驶执照等。 居住证明&#xff1a;您需要提供能够证明您居住地址的文件&#xff0c;如水电费账单、房屋租赁合同、居住证明信等。 银行账户信息&a…

OPENSSL-PKCS7入门知识介绍

1 PKCS7数据结构说明 p7包括6种数据内容&#xff1a;数据(data),签名数据&#xff08;sign&#xff09;&#xff0c;数字信封数据&#xff08;enveloped&#xff09;&#xff0c;签名数字信封数据&#xff08;signed_and_enveloped&#xff09;&#xff0c;摘要数据&#xff08…

Linux系统前后端分离项目

目录 一.jdk安装 二.tomcat安装 三.MySQL安装 四.nginx安装 五.Nginx负载均衡tomcat 六.前端部署 一.jdk安装 1. 上传jdk安装包 jdk-8u151-linux-x64.tar.gz 进入opt目录&#xff0c;将安装包拖进去 2. 解压安装包 这里需要解压到usr/local目录下&#xff0c;在这里新建一个…

Qt程序设计-钟表自定义控件实例

本文讲解Qt钟表自定义控件实例。 效果如下: 创建钟表类 #ifndef TIMEPIECE_H #define TIMEPIECE_H#include <QWidget> #include <QPropertyAnimation> #include <QDebug> #include <QPainter> #include <QtMath>#include <QTimer>#incl…

2024.2.21 模拟实现 RabbitMQ —— 实现转发规则

目录 需求分析 直接交换机&#xff08;Direct &#xff09; 主题交换机&#xff08;Topic &#xff09; 扇出交换机&#xff08;Fanout &#xff09; Topic 交换机转发规则 routingKey 组成 bindingKey 组成 匹配规则 情况一 情况二 情况三 实现 Router 类 校验 b…

POI WorkbookFactory.create(inputStream) IndexOutOfBoundsException

近期&#xff0c;运行稳定的excel导入功能突然异常&#xff0c;查看了日志&#xff0c;发现以下图示异常&#xff1a; 追踪代码发现是以下代码引起问题&#xff1a; 发现&#xff0c;WorkbookFactory.create(inputStream) 创建workbook对象时读取文件内容下标越界了 分析是因…