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

c++ opencv使用drawKeypoints、line实现特征点的连线显示

前言

图像经过算子处理后得到若干特征点,使用opencv进行渲染显示出这些特征点并且连线,更直观的对比处理前后的一些差异性

demo核心代码

//画出特征点并连线
void drawFilterLinePoints(cv::Mat& srcMat, cv::Point2f pointStart, cv::Point2f pointEnd, cv::Scalar color)
{std::vector<cv::KeyPoint> keypoints;keypoints.push_back({ pointStart, 0 });keypoints.push_back({ pointEnd, 0 });cv::drawKeypoints(srcMat, keypoints, srcMat, color);cv::line(srcMat, pointStart, pointEnd, color, 1, cv::LINE_AA);
}//在QLabel中显示此处使用Qt方法对多个图片进行拼接,也可使用opencv拼接
QImage mergeImgHorizonal(std::vector<QImage>& images)
{int image_width = 0;int max_height = 0;std::vector<QImage>::iterator it;for (it = images.begin(); it != images.end(); ++it) {int width = (*it).width();image_width += width;if ((*it).height() > max_height) {max_height = (*it).height();}}QImage Roi_H(image_width, max_height, QImage::Format_RGB888);Roi_H.fill(Qt::black);QPainter painter;painter.begin(&Roi_H);int x_pos = 0;for (it = images.begin(); it != images.end(); ++it) {painter.drawImage(x_pos, 0, (*it));x_pos += (*it).width();}painter.end();return Roi_H;
}

效果展示

在这里插入图片描述

作者:费码程序猿
欢迎技术交流:QQ:255895056
转载请注明出处,如有不当欢迎指正

相关文章:

c++ opencv使用drawKeypoints、line实现特征点的连线显示

前言 图像经过算子处理后得到若干特征点&#xff0c;使用opencv进行渲染显示出这些特征点并且连线&#xff0c;更直观的对比处理前后的一些差异性 demo核心代码 //画出特征点并连线 void drawFilterLinePoints(cv::Mat& srcMat, cv::Point2f pointStart, cv::Point2f po…...

Ruoyi-cloud / 若依 SpringCloud服务器部署

1、redis 环境 服务器安装redis &#xff0c;注意 密码 端口 2、mysql 环境 服务器安装 mysql 5.7 以上的版本 代码中的sql 文件夹中有 sql 文件 创建数据库ry-cloud并导入数据脚本ry_2021xxxx.sql&#xff08;必须&#xff09;&#xff0c;quartz.sql&#xff08;可选&…...

Java面试题09

1.什么是反射&#xff1f; 反射是Java中的一种机制&#xff0c;允许在运行时获取类的信息、访问对象的属性和方法&#xff0c;以及调用 对象的方法&#xff0c;使得编程更加灵活&#xff0c;但也需要注意性能和安全问题。 在Java中&#xff0c;反射&#xff08;Reflection&…...

Linux grep命令

目录 一. 前期准备二. 配置项2.1 -e 配置项2.2 -h 配置项 三. 正则表达式3.1 {} 或查询3.2 文件路径和查询关键词中均包含正则表达式 四. zgrep 一. 前期准备 ✅TEST-2023-07-11.txt MPLE0130 Exception 123 ExecTimeMPLE0190 ExecTime123 MPLE0150 TST 1234 ExecTime454 MPL…...

RPC之GRPC:什么是GRPC、GRPC的优缺点、GRPC使用场景

简介 gRPC是一个现代的开源高性能远程过程调用(RPC)框架&#xff0c;可以在任何环境中运行。它可以高效地连接数据中心内和跨数据中心的服务&#xff0c;支持负载平衡、跟踪、运行状况检查和身份验证。它也适用于分布式计算的最后一英里&#xff0c;将设备、移动应用程序和浏览…...

无人机光伏巡检代替人工,贵州电站运维升级

无人机光伏巡检如何做到降本增效&#xff1f;贵州省光伏电站有新招&#xff01;某70MWp的光伏电站通过引入复亚智能无人机光伏巡检系统&#xff0c;专注于使用无人机对区域内的光伏面板进行自动巡航巡查&#xff0c;利用自动化巡检和故障识别技术&#xff0c;显著提升了光伏电站…...

【Q3——30min】

1、介绍一下数据库的三大范式 第一范式(1NF)&#xff1a;属性不可分割&#xff0c;即每个属性都是不可分割的原子项。(实体的属性即表中的列) 第二范式(2NF)&#xff1a;满足第一范式&#xff1b;且不存在部分依赖&#xff0c;即非主属性必须完全依赖于主属性。(主属性即主键&a…...

leetcode每日一题35

90. 子集 II 回溯嘛 子集啊排列组合啊棋盘啊都是回溯 回溯三部曲走起 跟78.子集比&#xff0c;本题给出的数组里存在重复元素了 所以在取元素时&#xff0c;如果同一层里取过某个元素&#xff0c;那么在该层就不能取重复的该元素了 如给出的数组[1,2,2] 可以在某一次递归中第一…...

第二十章——多线程

一.线程简介 线程的特点 1.进程是资源分配的最小单位&#xff0c;线程是最小的执行单位 2.一个进程可以有多个线程 3.线程共享进程资源 二.创建线程 1.继承Thread类 1.Thread类是java.lang包中的一个类&#xff0c;从这个类实例化的对象代表线程&#xff0c;程序员启动一个新…...

【FGPA】Verilog:JK 触发器 | D 触发器 | T 触发器 | D 触发器的实现

0x00 JK 触发器 JK 触发器是 RS 触发器和 T 触发器的组合&#xff0c;有两个输入端 J 和 K&#xff0c;如果两个输入端都等于 1&#xff0c;则将当前值反转。 行为表 状态图 Timing Diagram Circuit JK 触发器的设计目的是防止 RS 触发器在输入 S 和 R 均等于 …...

【人工智能】人工智能的技术研究与安全问题的深入讨论

前言 人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI。 它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是新一轮科技革命和产业变革的重要驱动力量。 &#x1f4d5;作者简介&#x…...

苹果提醒事项怎么用?几个简单步骤就能学会!

苹果提醒事项可以帮助你轻松管理待办事项&#xff0c;让你更好地安排自己的时间和工作。但是&#xff0c;有些小伙伴可能对如何使用这个功能还有一些疑问。苹果提醒事项怎么用&#xff1f;不要担心&#xff0c;小编将为大家提供使用提醒事项的方法&#xff0c;帮助你学会如何使…...

<HarmonyOS第一课>从简单的页面开始 【课后考核】

判断题 在Column容器中的子组件默认是按照从上到下的垂直方向布局的&#xff0c;其主轴的方向是垂直方向&#xff0c;在Row容器中的组件默认是按照从左到右的水平方向布局的&#xff0c;其主轴的方向是水平方向。 正确(True)List容器可以沿水平方向排列&#xff0c;也可以沿垂…...

如何实现按需加载

如何实现按需加载 实现按需引入的步骤&#xff1a; ES6模块语法&#xff1a; 确保你的组件库使用了ES6模块语法&#xff0c;这是按需引入的基础。 拆分组件&#xff1a; 将组件库拆分成独立的模块&#xff0c;每个模块包含一个组件。这样&#xff0c;只有需要的组件才会被引入…...

Vue3-admin-template的表格合计计算

直接上代码&#xff1a; <el-table:data"lists"style"width: 100%"max-height"500":header-cell-style"{ textAlign: center }":cell-style"{ textAlign: center }"show-summary:summary-method"getSummaries"…...

spring JdbcTemplate 快速入门

概述 Spring JDBC Template 是 Spring Framework 提供的一个简化 JDBC 操作的模板类。它封装了一些常见的 JDBC 操作&#xff0c;使得开发者在使用 JDBC 时能够更加便捷、简洁&#xff0c;同时也提供了异常处理和资源管理等功能。 导入pom 使用C3P0作为数据源 <project x…...

leetcode:用队列实现栈(后进先出)

题目描述 题目链接&#xff1a;225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; 题目分析 我们先把之前写的队列实现代码搬过来 用队列实现栈最主要的是实现栈后进先出的特点&#xff0c;而队列的特点是先进先出&#xff0c;那么我们可以用两个队列来实现 一个队…...

使用opencv实现更换证件照背景颜色

1 概述 生活中经常要用到各种要求的证件照电子版&#xff0c;红底&#xff0c;蓝底&#xff0c;白底等&#xff0c;大部分情况我们只有其中一种&#xff0c;本文通过opencv实现证件照背景的颜色替换。 1.1 opencv介绍 OpenCV&#xff08;Open Source Computer Vision Librar…...

Unity打出的安卓包切换后台再恢复前台,卡顿许久问题记录

连接AndroidStudio发现当切换后台时提示&#xff1a;D/Unity: Multi-casting "[IP] 192.168.31.231 [Port] 55000 [Flags] 19 [Guid] 1268732307 [EditorId] 264356214 [Version] 1048832 [Id] AndroidPlayer(11,Xiaomi_M2012K11AC192.168.31.231) [Debug] 0 [PackageName…...

Linux常用命令----shutdown命令

文章目录 命令概述参数解释使用示例及解释 命令概述 shutdown 命令用于安全地关闭或重启 Linux 系统。它允许管理员指定一个时间点执行操作&#xff0c;并可发送警告信息给所有登录的用户。 参数解释 时间参数 ([时间]): now: 立即执行关闭或重启操作。m: 在 m 分钟后执行操作…...

AWS首席执行官解释为何同时投资Anthropic与OpenAI并不存在冲突

AWS首席执行官马特加曼表示&#xff0c;亚马逊近期对OpenAI完成了500亿美元的投资&#xff0c;此前已与Anthropic建立长期合作关系并累计投入80亿美元。他认为&#xff0c;对于这家云计算巨头而言&#xff0c;处理此类利益冲突早已是家常便饭。加曼在本周于旧金山举办的HumanX大…...

5分钟彻底解锁Mac百度网盘限速:开源加速插件完整实战指南

5分钟彻底解锁Mac百度网盘限速&#xff1a;开源加速插件完整实战指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 你是否曾在Mac上使用百度网盘下载…...

如何提高邮件营销的投资回报率

在与大量客户的长期沟通中&#xff0c;我发现一个非常有趣的现象&#xff0c;即大家对邮件营销的投资回报率出现了两极分化的评价&#xff1a;一部分企业认为邮件营销的效果非常一般&#xff0c;发着发着就不发了&#xff1b;而另一部分企业认为&#xff0c;邮件营销的投资回报…...

OpenClaw+Qwen3-14B数据安全方案:敏感文件本地自动化处理

OpenClawQwen3-14B数据安全方案&#xff1a;敏感文件本地自动化处理 1. 为什么需要本地化的数据安全方案 去年我在处理公司季度财报时遇到一个棘手问题&#xff1a;需要将几十份PDF报表中的关键数据提取出来做交叉分析&#xff0c;但内容涉及商业机密&#xff0c;不敢直接上传…...

如何快速实现AI模型生产级部署:AITemplate的7个最佳实践指南

如何快速实现AI模型生产级部署&#xff1a;AITemplate的7个最佳实践指南 【免费下载链接】AITemplate AITemplate is a Python framework which renders neural network into high performance CUDA/HIP C code. Specialized for FP16 TensorCore (NVIDIA GPU) and MatrixCore …...

万象视界灵坛效果展示:浅蓝格点底纹上CLIP文本嵌入的t-SNE降维散点图

万象视界灵坛效果展示&#xff1a;浅蓝格点底纹上CLIP文本嵌入的t-SNE降维散点图 1. 平台概览 万象视界灵坛&#xff08;Omni-Vision Sanctuary&#xff09;是一款基于OpenAI CLIP技术的高级多模态智能感知平台。它将复杂的语义对齐过程转化为直观的视觉体验&#xff0c;采用…...

无需模拟器:APK Installer让Windows直接运行安卓应用的全攻略

无需模拟器&#xff1a;APK Installer让Windows直接运行安卓应用的全攻略 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾遇到过这样的困境&#xff1a;手机上…...

从PDM到PCM:解码数字音频的底层转换逻辑

1. 为什么需要从PDM转换到PCM&#xff1f; 当你拆开一个智能音箱或者蓝牙耳机&#xff0c;里面那个指甲盖大小的数字麦克风&#xff0c;十有八九输出的是PDM信号。这种用"脉冲密度"表示声音强度的编码方式&#xff0c;就像用摩斯电码记录交响乐——虽然硬件实现简单&…...

终极指南:用Mesa轻松构建智能Agent仿真模型,快速探索复杂系统

终极指南&#xff1a;用Mesa轻松构建智能Agent仿真模型&#xff0c;快速探索复杂系统 【免费下载链接】mesa Mesa is an open-source Python library for agent-based modeling, ideal for simulating complex systems and exploring emergent behaviors. 项目地址: https://…...

JiYuTrainer深度解析:从技术基石到实战突破的极域电子教室控制方案

JiYuTrainer深度解析&#xff1a;从技术基石到实战突破的极域电子教室控制方案 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer JiYuTrainer作为一款专注于极域电子教室控制的开源…...