c++画出分割图像,水平线和垂直线
1、pca 找到图像某个区域的垂直线,并画出来
// 1、 斑块的框+ 血管二值化图,pca 找到垂直血管壁的直线, 还是根据斑块找主轴方向吧// Step 1: 提取斑块左右范围内的血管像素点坐标,std::vector<cv::Point> points;for (int y = 0; y < binaryVessel.rows; y++) {for (int x = x1; x <= x2; x++) {if (binaryVessel.at<uchar>(y, x) == 255) {points.push_back(cv::Point(x, y));}}}if (points.empty()) {std::cout << "====================>error No valid pixels in the specified range. 斑块附近的血管分割区域不存在,结束函数功能 " << std::endl;return;}// 转换为 cv::Mat 格式cv::Mat pointsMat(points.size(), 2, CV_32F);for (int i = 0; i < points.size(); i++) {pointsMat.at<float>(i, 0) = points[i].x;pointsMat.at<float>(i, 1) = points[i].y;}// Step 2: 使用 PCA 获取垂直线段斜率,感觉有点异常,不要了,改成用最小外接矩形// binaryPlaque pointsMatcv::PCA pca(pointsMat, cv::noArray(), cv::PCA::DATA_AS_ROW);// Step 3: 获取主成分(直线的方向)和主成分对应的直线上的点cv::Mat directions = pca.eigenvectors;cv::Mat linePoints = pca.mean;// Step 4: 计算垂直线的斜率和截距float kVertical = -directions.at<float>(0,0) / directions.at<float>(0,1);float interceptHorizontal = linePoints.at<float>(0, 1) - kVertical * linePoints.at<float>(0, 0);// Step 5: 绘制垂直线float x;cv::Mat image22; // 存储处理后的图像cv::cvtColor(binaryVessel, image22, cv::COLOR_GRAY2BGR); // binaryVessel 转换为彩色图像 image22,存储for (int i = 0; i < image22.cols; i++) {x = static_cast<float>(i);float yVertical = kVertical * x + interceptHorizontal;cv::circle(image22, cv::Point(static_cast<int>(x), static_cast<int>(yVertical)), 1, cv::Scalar(0, 255, 0), -1);}cv::imwrite("/home/hebin/Desktop/shiyuanyin/image2.png", image22); // 保存画图的直线

2、使用最小外接矩形的框,来找到水平线和垂直线
相关文章:
c++画出分割图像,水平线和垂直线
1、pca 找到图像某个区域的垂直线,并画出来 // 1、 斑块的框 血管二值化图,pca 找到垂直血管壁的直线, 还是根据斑块找主轴方向吧// Step 1: 提取斑块左右范围内的血管像素点坐标,std::vector<cv::Point> points;for (int y 0; y <…...
Python 程序设计入门(015)—— enumerate() 函数的用法
Python 程序设计入门(015)—— enumerate() 函数的用法 目录 Python 程序设计入门(015)—— enumerate() 函数的用法一、enumerate() 函数的语法二、为可迭代对象创建索引三、将字符串、列表等转换为字典1、将字符串转换为字典2、…...
__dict__属性
__dict__ 是 Python 中的一个特殊属性,通常存在于大多数 Python 对象中,用于存储该对象的可变属性。 以下是关于 __dict__ 的一些关键点和详细信息: 存储属性:对于大多数自定义的 Python 对象,__dict__ 属性包含了这个…...
k8s之Pod控制器
目录 一、Pod控制器及其功用二、pod控制器的多种类型2.1 pod容器中的有状态和无状态的区别 三、Deployment 控制器四、SatefulSet 控制器4.1 StatefulSet由以下几个部分组成4.2 为什么要有headless?4.3 为什么要有volumeClaimTemplate?4.4 滚动更新4.5 扩…...
逆元(求乘法逆元的几种方法)
目录 逆元 加法逆元 乘法逆元 如何求 快速幂 扩展欧几里得 O(n)求1到n的乘法逆元 逆元 数学中,逆元素(英语:Inverse element)推广了加法中的加法逆元和乘法中的倒数。直观地说,它是一个可以取消另一给定元素运…...
没点本事,还真做不好数字化转型
数字化转型逐渐成为企业业务增长的利器 然而,在此过程中 企业最应该注重哪些? 效率?质量? 但还有一个至关重要的点不容忽视 那就是安全 有一家硬核企业通过技术与狠活 硬生生提升了应用安全性 保障了产业与数字化的安全融合…...
windows 10 远程桌面配置
1. 修改远程桌面端口(3389) 打开注册表(winr), 输入regedit 找到配置项【计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\Wds\rdpwd\Tds\tcp】 , 可以通过搜索“Wds”快速定位。 修改端口配…...
OpenStreetMap 上基于A*搜索算法的C ++路线规划项目
引言 在现代的地理信息系统(GIS)中,路线规划是一个重要的组成部分。它涉及到从一个地点到另一个地点的最优路径的确定。在这篇文章中,我们将探讨如何在OpenStreetMap数据上实现一个基于A*搜索算法的C路线规划项目。 OpenStreetM…...
java实现随机生成验证码
import java.util.concurrent.ThreadLocalRandom;/* 生成验证码的工具 可动态配置验证码长度*/ public class CodeUtils {public static void main(String[] args) {//随机生成5个长度为4的验证码for (int i 0; i < 5; i) {System.out.println(CodeUtils.getCode(4));}for …...
Positive证书是什么?
Positive SSL是全球著名CA Sectigo的子品牌, 也是目前全球签发量最高的商业SSL证书。价格低,安全性高,在个人网站和中小型企业网站中拥有极高的占有率。 Positive SSL证书包括DV SSL, EV SSL,也是唯一支持IP地址加密的…...
vulnhub靶场-y0usef笔记
vulnhub靶场-y0usef笔记 信息收集 首先fscan找到目标机器ip http://192.168.167.70/ nmap扫描端口 Host is up (0.00029s latency). Not shown: 998 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ub…...
华为智选首款纯电轿跑“LUXEED”能大卖吗?
监制 | 何玺 排版 | 叶媛 华为智选纯电轿跑来袭! 8月7日,华为常务董事余承东在社交媒体上发文,宣布华为智选即将推出首款“突破想象”的纯电轿跑车。 01 华为智选首款纯电轿跑来袭 余承东的发文引起了极大关注,在各大媒体的报…...
ArcGIS API for JavaScript 3.44 地图Demo示例合集
ArcGIS API for JavaScript 3.44 demo合集 (一)创建地图(二)基准图库(三)编辑书签(四)主页按钮(五)LayerList小部件(六)测量小工具&am…...
RFID工业识别技术:供应链智能化的科技颠覆
RFID工业识别技术,作为物联网的先锋,正在供应链管理领域展现着前所未有的科技颠覆。从物料追踪到库存管理,再到物流配送,RFID技术以其高效的数据采集和智能的自动化处理,彻底改变着传统供应链的运营方式。 RFID在物料追…...
行列转换两例的思考
1、多行转成一列 (1)、建测试表及插入测试数据 create table t(i int,a varchar2(1)); insert into t(i,a) select 1,a from dual union all select 1,b from dual union all select 1,d from dual union all select 1,e from dual union all select 2,z from dual union all…...
高德地图 SDK 接口测试接入(AndroidTest 上手)
学习资料 官方文档 在 Android 平台上测试应用 | Android 开发者 | Android Developers 测试了解 【玩转Test】开篇-Android test 介绍 Android单元测试全解_android 单元测试_一代小强的博客-CSDN博客 Android单元测试-对Activity的测试_activitytestrule_许佳佳233的博客…...
省电模式稳定电压显示IC32×4 LCD显示驱动芯片
简述 VK1C21A是一个点阵式存储映射的LCD驱动器,可支持最大128点(32SEGx4COM) 的LCD屏,也支持2COM和3COM的LCD屏。单片机可通过3/4个通信脚配置显示参数和发 送显示数据,也可通过指令进入省电模式。具备高抗干扰&a…...
分布式架构的观测
分布式架构的观测 日志日志的输出收集与缓冲加工与聚合存储与查询 追踪数据收集 度量 在一个分布式应用中,如果出现了某个异常,那我们必然不可能只依靠 awk、grep 等命令来查看日志分析问题,往往分布式架构的一个异常都贯通多个节点ÿ…...
交替方向乘子
目录 一,交替方向乘子ADMM 1,带线性约束的分离优化模型 2,常见优化模型转带线性约束的分离优化模型 3,带线性约束的分离优化模型求解 4,交替方向乘子ADMM 本文部分内容来自教材 一,交替方向乘子ADMM …...
9-数据结构-栈(C语言版)
数据结构-栈(C语言版) 目录 数据结构-栈(C语言版) 1.栈的基础知识 1.入栈,出栈的排列组合 情景二:Catalan函数(计算不同出栈的总数) 2.栈的基本操作 1.顺序存储 (1)顺序栈-定义…...
PowerShell中的环境变量与编码问题
在使用PowerShell脚本处理配置文件和环境变量时,编码问题常常是开发者们面临的一个挑战。本文将通过一个具体的实例,探讨如何处理PowerShell中的环境变量编码问题,特别是当环境变量包含特殊字符(如反引号)时。 问题描述 假设你正在使用Drone CI执行一些PowerShell命令,…...
软件测试实战:忍者像素绘卷API接口自动化测试用例设计
软件测试实战:忍者像素绘卷API接口自动化测试用例设计 1. 项目背景与测试目标 忍者像素绘卷:天界画坊是一款基于AI技术的像素艺术生成工具,其API接口为开发者提供了丰富的图像生成能力。作为软件测试工程师,我们需要确保API在各…...
Android系统分区详解:从boot到userdata,一篇文章搞懂所有分区的作用与风险
Android系统分区深度解析:从启动原理到安全操作指南 每次按下Android设备的电源键,背后都隐藏着一套精密的分区协作系统。这些看似抽象的分区名称——boot、system、recovery——实则决定着设备的生死存亡。我曾亲眼见证一位开发者误刷boot分区导致设备变…...
Windows用户福音:不用Mac也能搞定uniapp的iOS证书和Profile文件(附详细截图)
Windows平台下高效生成uniapp iOS证书与Profile文件的完整指南 对于许多使用uniapp进行跨平台开发的Windows用户而言,iOS证书和Profile文件的生成一直是个令人头疼的问题。传统方法要求开发者必须拥有Mac设备,这无疑增加了开发门槛和成本。但事实上&…...
seo网站宝可以做哪些SEO分析报告
SEO网站宝可以做哪些SEO分析报告? 在当前互联网市场竞争激烈的情况下,SEO(搜索引擎优化)已经成为每个企业提升网站流量和品牌知名度的重要手段。作为一款广受好评的SEO工具,SEO网站宝能够为用户提供多种分析报告&…...
Qwen3-ASR-0.6B高性能优化:CNN加速语音特征提取
Qwen3-ASR-0.6B高性能优化:CNN加速语音特征提取 语音识别技术正在快速融入我们的日常生活,从智能助手到实时字幕,都离不开高效的语音转文本能力。Qwen3-ASR-0.6B作为一款轻量级语音识别模型,在保证识别准确率的同时,更…...
Unity 2018 + Facebook SDK 7.15.1避坑指南:从崩溃解决到完整功能实现
Unity 2018与Facebook SDK 7.15.1深度适配实战手册 当老牌游戏引擎遇上社交巨头的SDK,版本兼容性问题往往成为开发者的噩梦。本文将带您深入探索Unity 2018与Facebook SDK 7.15.1这对"经典组合"的适配之道,从环境搭建到功能实现,完…...
Activiti7实战指南:从流程实例到任务分配的全流程解析
1. Activiti7流程引擎核心概念解析 Activiti7作为当前最流行的开源工作流引擎之一,在企业级业务流程管理中扮演着重要角色。我第一次接触Activiti是在2014年参与某金融项目的审批系统开发时,当时就被它优雅的设计理念所吸引。经过多年实战,我…...
OpenClaw备份方案:Qwen3-4B-Thinking自动化数据归档系统
OpenClaw备份方案:Qwen3-4B-Thinking自动化数据归档系统 1. 为什么需要自动化备份系统 作为一个长期与代码和数据打交道的开发者,我经历过太多次"数据灾难"——硬盘突然损坏导致项目丢失,误删重要文件后无法恢复,甚至…...
从DH参数到3D动画:手把手教你用SimMechanics在Simulink里‘拼’出一个六轴机械臂
从DH参数到3D动画:手把手教你用SimMechanics在Simulink里‘拼’出一个六轴机械臂 刚接触机器人学的同学常会遇到这样的困境:DH参数表背得滚瓜烂熟,但面对真实的机械臂结构时,那些α、a、d、θ参数突然变得抽象难懂。我在研究生阶段…...
