- 博客(37)
- 收藏
- 关注
原创 Windows onnxruntime编译openvino
理论上来说,可以直接访问下载dll文件,然后从官方文档中下载缺少的头文件以直接调用,但我没有尝试过。
2024-12-30 16:22:59
638
原创 VTK编译GrowCut和编译CUDA程序为python库踩坑记录
VS2019编译参考:https://www.bilibili.com/read/cv6734720/编译GrowCut时,参考这个,把文件目录放在remote下:https://blog.youkuaiyun.com/yuxing55555/article/details/125764780?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169519571716800225597272%2522%252C%2522scm%2522%253A%252
2023-09-26 15:19:12
420
原创 Graphormer跑数据和踩坑记录
pip版本太低,需要更新pip install --upgrade pip。将这些图和标签列表组合成一个单一的DGL数据集对象。使用自己的数据转化成与QM9数据集类似的数据结构。读取CSV文件,创建DGL图和标签列表。版本问题,需要更新到python3.9。出现这个就把num_class设为2。不过后面还是不行,就没用预训练模型。
2023-09-04 09:54:13
1116
5
原创 VTK——使用ICP算法进行模型配准
迭代最近点(Iterative Closest Point,ICP)算法是一种用于两个三维形状之间几何对齐(也叫做配准)的计算方法。通常,这两个形状至少有一个是点云数据。ICP算法用于最小化源点云与目标点云之间点到点的距离,从而寻找两者之间的最佳匹配变换(通常是刚体变换,但也可能是仿射或其他形式的变换)。
2023-09-02 14:47:58
933
原创 c++数据结构之 队列
c++数据结构 --- 队列队列的特点队列的相关概念:队列的操作:队列的分类:演示例子简单的例子例子2、循环队列的C++实现队列的特点队列(Queue)与栈一样,是一种线性存储结构,它具有如下特点:1.队列中的数据元素遵循“先进先出”(First In First Out)的原则,简称FIFO结构。2.在队尾添加元素,在队头添加元素。rmaidjs.github.io/)队列的相关概念:(1)队头与队尾: 允许元素插入的一端称为队尾,允许元素删除的一端称为队头;(2)入队:队列的插入操作;(
2023-09-02 14:12:52
244
原创 Python——Socket编程
前言最近在做项目的时候需要进行一个简单的跨语言通信,有用到socket和websocket,这次详细记录下学习socket的过程。一、什么是Socket?Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。二、Socket模块功能1.socket()函数socket.socket([fami
2023-09-02 14:11:47
1239
原创 cuda编程常见问题
spm=1001.2014.3001.5506 参考这个。在学习《GPU高性能编程CUDA实战》这本书时,发现书里面的代码很多变量都没定义过,经过搜索发现这都是书上自带的代码。就将glut64.dll复制到C:\Windows\System32。连接到“VC++目录”->“库目录”无法打开glut64.lib。无法找到glut64.dll。
2023-09-02 14:11:07
349
1
原创 VTK——使用包围盒切割医学图像
专门用于读取医学图像格式 DICOM 的类。:Marching Cubes 算法用于从 3D 体积数据生成表面。这在医学成像中非常有用,可以用来生成器官、骨骼等结构的 3D 模型。:这两个类用于设置渲染管线。:多边形裁剪,通常用于去除不需要的部分或者进行 ROI(Region of Interest)分析。:一个交互式的 3D 窗口小部件,通常用于裁剪或标注 3D 对象。:用于图像的高斯平滑处理,主要用于去噪和边缘模糊。:这些组成部分用于创建渲染窗口和交互。:用于优化网格数据,提高渲染速度。
2023-09-02 14:05:26
1160
2
原创 VTK——设置交互样式上的鼠标回调函数
VTKPointPickerInteractorStyle是一个自定义的交互样式类,它是VTK库中vtkInteractorStyleTrackballCamera类的子类。VTK(Visualization Toolkit)是一个开源的,跨平台的库,用于处理、渲染和视觉化科学数据。它包括一系列的类和方法用于3D计算机图形、图像处理和可视化。vtkInteractorStyleTrackballCamera是VTK中的一个交互样式类,它定义了用户与3D场景交互的方式,例如:旋转、缩放、平移等。
2023-08-31 16:17:58
1208
原创 VTK————3D模型的旋转、交互、透明度设置
旋转模型的话可以用到以下例程,但是每次设置选择坐标时,都是累加的。可以通过SetOrientation来将模型方向设为初试方向。如果三个坐标都使用较大值来进行旋转,那么由于累加的特性。模型会在空间内进行大幅度的旋转和位移,这是需要注意的。也可以通过设置interactor 的 style 为 vtkInteractorStyleTrackballActor,来使用鼠标来控制 STL 模型的位置和方向。
2023-08-30 20:27:37
2582
原创 VTK——angleWidget的3D转换
在冠状图、矢状面、横截面等创建的角度组件的三个端点坐标,不能直接用在3D视图中。这是因为2D切片的坐标是基于像素的,而3D空间的坐标可能是基于实际物理尺寸的。4.如果想要保证实时删除2D和3D视图中的角度组件,可以使用map,只需要记住创建的索引就能直接删除组件。这样可以与页面上的组件数量和组件索引独立开来.将计算好的空间坐标p1、p2、p3传入下面的函数中,就可以在3D视图中画出角度组件。
2023-08-29 17:16:57
774
原创 VTK——angleWidget的回调函数设置
回调函数用于在组件创建成功后完成发送,打印等操作。如果想要实时更新角度组件的端点位置、角度,可以在回调函数中设置。
2023-08-29 16:43:10
177
原创 VTK————布局、样式、信号槽
在 Qt Designer 中,全局样式表通常定义在主窗口或某个特定部件的样式表属性中,并作用于整个窗口或部件及其子部件。信号是由于用户对窗口或控件进行了某些操作,导致窗口或控件产生了某个特定事件,这时候Ot对应的窗口类会发出某个信号,以此对用户的挑选做出反应。独立窗口的显示有非模态和模态,非模态显示的时候鼠标指针是可以在任意窗口内移动的,模态显示的时候鼠标指针只能在当前窗口内移动。信号的呈现形式就是函数,也就是说某个事件产生了,O框架就会调用某个对应的信号函数,通知使用者。鼠标移动、鼠标按下、鼠标释放。
2023-08-29 16:42:03
189
原创 python 类型错误:python TypeError: ufunc ‘subtract‘ did not contain a loop with signature matching types
python常见的类型报错
2023-03-09 15:56:18
453
原创 NCNN框架的简洁配置流程
完整的安装配置过程可以参考这个博客https://blog.youkuaiyun.com/weixin_43051346/article/details/122414506因为我在进行protobuf和ncnn框架编译的时候,总会出现报错,无法解决。最后发现,换了台电脑重新配置就没问题了。配置流程然后我直接把另外一台电脑编译好的文件拿来用,流程如下:1.下载好百度云里面的文件并解压:链接:https://pan.baidu.com/s/1_rLFVW_4p9I8YO1F3Im-Aw提取码:rjh9–来
2022-05-04 21:35:23
908
原创 Python——多线程
什么是线程?线程也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行简而言之,一个程序至少有一个进程,一个进程至少有一个线程.什么是进程?进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。线程与进程的区
2022-04-13 16:32:28
757
原创 sublime配置python运行环境记录
官网安装好Sublime text 31.配置Package Control组件按Ctrl+ `(此符号为tab按键上面的按键) 调出console(注:避免热键冲突)粘贴以下代码到命令行并回车:import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.b
2022-04-12 16:46:57
851
原创 Python——类
文章目录前言一、什么是面向对象编程二、面向对象术语简介三、Python类四、类的专业方法五、理解Self的意义六、类和函数的注释规范七、测试用例前言在了解什么是Python类之前,先来了解一下什么是面向对象编程:一、什么是面向对象编程1、面向对象编程(oop)是一种程序设计思想。oop把对象作为程序的基本单元,一个对象包含数据和操作数据的函数2、在python中,所有数据类型都被视为对象,也可以自定义对象。自定义对象数据类型就是面向对象中类的概念二、面向对象术语简介术语意义
2022-04-08 15:15:02
7418
原创 Python正则表达式
前言:初次接触正则表达式是在学习Python爬虫的时候,需要将爬下来的网页进行解析,不过在学习完正则表达式感觉比较繁琐,所以使用比较多的还是bs4和xpath。最近因为需要,将正则表达式重新再学一遍并记录下来。一、概念 正则表达式是由一些具有特殊含义的字符组成的字符串,多用于查找、替换符合规则的字符串。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。二、应用场景(1)验证:表单提交时,进行用户
2022-04-07 17:08:15
617
原创 C++之常量成员函数
常量对象:比如设置一个类Demo,则 const Demo Obj;//则定义了Obj是一个常量对象。这样这个对象的值不会被改变常量成员函数:1.定义在类的成员函数说明后面可以加const关键字,则该成员函数为常量成员函数。2.声明class Sample{ public: int value; void GetValue() const; void func(){}; Sample(){}};常量成员函数在执行期间
2022-03-19 21:51:54
855
原创 C++之this
1.什么是this?1.定义 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址(指向本身)。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。2.this作用域是在类内部,只能在成员函数中使用,并且只有在成员函数中才有定义 创建一个对象后,不能通过对象使用this指针。也无法知道一个对象的this指针的位置(只有在成员函数里才有this指针的位置)。当
2022-03-19 21:32:05
1521
原创 C++之函数指针
函数指针基础:1.获取函数的地址2.声明一个函数指针3.使用函数指针来调用函数获取函数指针:函数的地址就是函数名,要将函数作为参数进行传递,必须传递函数名。声明函数指针:声明指针时,必须指定指针指向的数据类型,同样,声明指向函数的指针时,必须指定指针指向的函数类型,这意味着声明应当指定函数的返回类型以及函数的参数列表。区分以下两个指针:int (*p)(int a, int b); //p是一个指向函数的指针变量,所指函数的返回值类型为整型int *p(int a, int b); /
2022-03-17 18:09:38
1676
原创 C++之assert和NDEBUG
assert()断言机制原理以及使用1.简介assert是一种预处理宏。assert的作用是计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。void analyze_string( char * string ){ assert( string != NULL ); // Cannot be NULL assert( *string != '\0' ); // Can
2022-03-17 17:23:46
981
原创 C++之内联函数和constexpr函数
内联函数(inline)先定义一个内联函数ShorterString用于比较两个string形参的长度,并返回长度较小的那个。inline ShorterString(const string &s1, const string &s2){ return s1.size() <= s2.size() ? s1:s2;}为这么一个小的操作定义一个函数的好处有:① 阅读和理解函数 max 的调用,要比读一条等价的条件表达式并解释它的含义要容易得多② 如果需要做任何修改,修
2022-03-17 16:56:52
484
原创 Fedora进行ffmpeg+nginx+rtmp服务器配置局域网推流
文章目录前言:一.先对Fedora镜像源进行一次更新1.如果在配置好后,获取 GPG 密钥失败:[Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7"2.如果安装包时出现:二.配置nginx和rtmp三.配置FFmpeg四.在局域网内进行推流拉流1.推流2.拉流3.查看链接摄像头号:五.fedora进行opencv3.2配置前言:最近做的一个项目需要使用arm开发板调用摄像头获取图片数据发送到后端,由于开
2021-12-22 23:20:49
2904
原创 排序算法:归并排序
归并排序什么是归并排序?算法分析什么是归并排序? 归并排序主要是将多个已排好的子数组合成一个排好序的数组。为了使这些子数组排好序,该算法了采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 它是计算机中使用的早期排序算法之一,是由John von Neumann提出来的: 动态效果示意图:分而治之: 1、分阶段: 2、治阶段: 再来
2021-09-16 00:07:28
213
原创 C++数据结构之链表
C++数据结构之链表什么是链表?一、单向链表二、双向链表什么是链表? 链表是节点的集合,节点中存储着数据并连接到其他的节点。通过这种方式,节点可以位于内存中的任何位置,每个节点都存储着链表中其他节点的地址,因此数据很容易从一个节点到达另一个节点。一、单向链表 如果一个节点将指向另一个节点的指针作为数据成员,那么多个这样的节点可以连接起来,只用一个变量就能访问整个节点序列。 如果序列中的节点只包含指向后继节点的链接,该链表就称为单向链表。参考例子:剑指offer面试题24——反转链表#i
2021-09-15 19:17:57
610
原创 基于姿态识别的手势识别
结合yolov3对手进行目标检测,而后对手进行姿势识别,获得手部骨骼关节点。初步实验效果发现,鲁棒性不强易受遮挡影响,但识别的准确率十分可观运行步骤1.目标检测2.判断重心点3.识别手部骨骼关键点代码链接:有人看我再放上github = =所需环境torch == 1.2.0pip install -r requirement.txt运行代码run predict.py模型文件存放:修改绝对路径:使用视频进行预测在predict文件里,在如下部分修改:cam = cv2.
2021-05-22 10:35:06
1750
6
原创 结合YOLOV3的人体姿势识别算法
结合yolov3对人进行目标检测,而后对人进行姿势识别。初步实验效果发现,鲁棒性不强易受遮挡影响,但识别的准确率十分可观运行步骤1.目标检测2.判断重心点3.识别人体骨骼关键点所需环境torch == 1.2.0运行代码run predict.py使用视频进行预测在predict文件里,在如下部分修改:cam = cv2.VideoCapture('path/vedio.mp4')修改参数使要显示的图片为白底图片或者原图 for n in range(person_num):
2021-03-05 13:30:31
9029
44
原创 OpenCV:用不一样的方法去除图像噪声小点
相较于传统方法我使用了两种不一样的方法来做到了对图像上的噪声小点清除原图:传统方法对于清除噪声小点无外乎就是图像平滑,高斯模糊,中值模糊,双边滤波。这一类方法在不会调参深入了解过的情况下,使用起来无疑是鸡肋。轮廓描绘清除通过对图像做一个轮廓描绘,把它描绘在新的白色画布上。与此同时,由于图像小点的面积单一且小,我们做一个if 判断,只把面积大于一定阈值的轮廓描绘在画布上。import cv2import numpy as npimg = cv2.imread('timg1.tiff')img
2020-11-10 22:53:15
4701
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人