自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(171)
  • 资源 (34)
  • 收藏
  • 关注

原创 GPU连通域分析方法

基于游程的方法,不管是游程提取还是游程连接,都适合在CPU完成。比如游程提取步骤,换到GPU上,每行开启一个线程进行游程提取,其耗时已经超过了从GPU拷贝整张blob图像到CPU的时间。至于游程连接步骤,则更是不可能在GPU上实现。

2024-01-05 11:05:05 1015 1

原创 降采样方法对NCC得分的影响因素评估

基于互相关的方案,会使用金字塔的方法进行优化,定位工具的原理为使用4*4降采样,2*2降采样,原始图不同尺度进行关联定位。高层金字塔的候选定位结果指导低层金字塔的小范围搜索,当低层金字塔定位失败时,可用使用高层金字塔给出一个可用接受的定位结果。

2023-12-12 11:28:49 1319

原创 规约算法 GPU优化方法

规约算法 GPU优化方法

2023-11-12 17:18:36 281

原创 GPU CUDA 使用shared memory 运行速度不升反降原因与解决方案

GPU CUDA 使用shared memory 运行速度不升反降原因与解决方案

2023-11-11 14:21:22 285

原创 Brox光流法公式推导

Brox光流法

2023-11-01 11:43:14 219

原创 Ultralytics(YoloV8)开发环境配置,训练,模型转换,部署全流程测试记录

Ultralytics(YoloV8)开发环境配置,训练,模型转换,部署全流程测试记录

2023-10-04 21:42:26 4305 4

原创 Windows下Tensorflow docker python开发环境搭建

Windows下Tensorflow docker python开发环境搭建

2023-10-03 16:50:10 1506

原创 ImageViewer技术实现细节

ImageViewer 工具使用几开发技术细节

2023-09-16 20:29:33 325

原创 OpenGL绘图基础

OpenGl绘图基础

2023-09-16 15:19:27 316

原创 CUDA编程之GPU图像数据结构的设计

实现GPU上的图像数据结构,且可以同时使用nvcc和c++编译器进行编译,或者说c++代码链接cu代码。

2023-08-19 15:42:20 659 1

原创 VS2022远程Linux使用cmake开发c++工程配置方法

VS2022远程Linux使用cmake开发c++工程配置方法

2023-08-19 12:06:14 2175

原创 随机Hough直线算法的改进

随机Hough直线算法

2023-01-16 13:34:09 222 1

原创 Sobel算法优化 AVX2与GPU

sobel算法的优化,AVX2与GPU

2022-10-07 15:32:04 860

原创 一文读懂BLOB算法

Blob算法是机器视觉中一个重要的部分

2022-10-07 14:23:01 927

原创 Yolov7模型训练与部署

在工业上使用较多的基于深度学习从目标检测算法,那毫无疑问应该是yolo,凭借这效率和精度方面的优势,在一众深度学习目标检测算法中脱颖而出。

2022-10-06 00:45:01 8851 2

原创 GPU编程学习入门

本文使用的显卡是Nvidia,编程语言是CUDA。本文主要是记录一下学习GPU编程的过程,在一到两天的时间里,对GPU编程思想有一个大概的认识,为将来深入学习打下基础,也对GPU编程可以解决的问题边界有一个认知,不被讲PPT的忽悠。

2022-10-05 13:01:31 5318

原创 RDP直线圆弧分割算法

RDP(Ramer-Douglas-Peucker)算法用来对连续的边缘点集进行多边形逼近。因此也用来对边缘进行直线和圆弧的分割。

2022-10-04 21:25:42 1474

原创 游程描述的任意区域最小旋转矩形算法实现

采用游程描述了多个区域,经过算法计算,找到最小包围矩形。

2022-10-04 13:36:51 540

翻译 一个成功的git分支模型

一个成功的git分支模型

2022-10-04 11:53:50 243

转载 A successful Git branching model

A successful Git branching model

2022-10-04 11:52:01 224

原创 正则表达式(regular expression)

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

2022-10-03 20:49:25 138

原创 vim操作备忘录

Vim拥有独一无二的文本编辑功能与现代特性,相比于其他文本编译软件,它提供了完全不同等级的文本编辑熟练度,速度和精度。

2022-10-03 13:17:04 660

原创 vim cheat sheet

Vim is awesome. Its modal nature and text editing features make it unique amongst other editors. Vim offers a complete different level of text editing proficiency, speed and accuracy from anything else out there.

2022-10-03 11:45:25 551

原创 blob算法测试图像生成

测试blob算法的图像生成工具

2022-09-21 10:07:59 547

原创 c++新标准有用的语法特性

最近读了一些开源库,发现开源库都会尽量使用最新的语言特性。大量开源库使用c++的新标准,一些新语法,新的模板元编程技术。如果不懂新标准增加的语法的话,这些开源库是很难读懂的,因此也很难用到自己的项目中。这也从侧面反映了,如果要写好一个底层库或者框架,需要对语言的掌握到一定的程度。这些新标准的加入,简化了一些编码工作。比如之前几十行代码解决的问题,现在只要几行就可以解决了;扩展了语言特性,使其看起来更加“现代化”;解决了之前不能解决或者需要很复杂的技巧才能解决的一些问题;...

2022-08-28 21:23:07 1217

原创 c++实现Json配置数据序列化和反序列化

配置参数的读写,从技术选型上有ini,xml,json。由于ini原生不支持树结构,需要根据需要将父节点的option作为子节点的section,配置文件可读性变差。xml由于属性和元素分开的形式,不适合直接转为c++定义的树状结构。所有最终选择了json。要想用c++实现一个通用的json文件序列化和反序列化工具,反射是绕不开的。c++语言原生不支持反射,因此要通过一些编程技巧实现。......

2022-08-28 18:43:00 1170

原创 Doxygen代码注释规范及API文档生成

第1章 API文档API(Application Programming Interface)文档是描述如何使用代码库提供的功能的说明文档,包括接口的介绍,使用方法,参数等信息。良好的API文档,可以使开发人员更快的学习API的用法,并集成到他们的软件中。也可以给测试人员用于设计接口的测试用例,包括对功能,逻辑,异常等的测试。1.1.包含哪些内容API文档必要包含的部分有,接口名称,功能描述,参数说明(名称,类型,是否可选,说明),返回值说明(类型,意义),使用示例(针对单个接口或一组接口)等。1.

2022-05-02 14:58:32 564

原创 积分图的SSE和AVX2优化

在图像处理中,积分图的应用在某些场合可以带来极高的效率优化,但是积分图本身的计算比较耗时,需要优化。积分图用double类型:void IntegralF64(Mat src, Mat &integal_out) { Mat tmp(src.size(), CV_64FC1, 0.0); tmp.ptr<double>(0)[0] = (double)src.ptr<uchar>(0)[0]; for (int i = 1; i < src.cols;

2022-04-05 22:20:21 1212

原创 RGB颜色空间转LAB,和OpenCV结果不一致原因分析与解决

最近看了RGB转LAB的原理,自己实现了一版。最初的版本单个像素的源码 float X, Y, Z, L, A, B; float T[3][3]; //Shift = 0; float Xscale = 0.95046; float Zscale = 1.08875; T[0][0] = 0.412453 / Xscale; //R T[0][1] = 0.357580 / Xscale; //G T[0][2] = 0.180423 / Xscale; //B T[1][0

2022-04-05 21:15:11 4695

原创 GSL库使用cmake+vs2015编译

GSL(GNU Scientific Library)是一个数学计算的库,最近在做固定半径的圆拟合时,最终是使用这个计算库来解决的。在解决完固定半径圆拟合问题后,回过头来重新看这个库的功能,突然有一种杀鸡使用牛刀的感觉。GSL覆盖的功能包括:随机数生成,最小二乘拟合,样条曲线插值,数值积分,线代运算,一维/多维函数求极值/零点,小波变换,傅里叶变换等。GSL的官方网站http://www.gnu.org/software/gsl/提供的资料,要在Windows下编译成功,实现难度较大。在github有

2022-03-05 16:54:52 1307

原创 固定半径圆拟合

固定半径的圆拟合算法

2022-03-05 11:19:38 2299 1

原创 树莓派+SAKS扩展板实现数码管时钟

最近整理以前学校时候的东西,发现了很久之前的一块树莓派SAKS扩展板,正好手头有一个树莓派,就想着做点什么东西。这怎么写的写的就感觉在写日记啊?不管这么多,折腾了一个下午,终于实现了一个数码管时钟,没有多少开发的工作量,基本上是踩了一些坑,网上各处找教程,找源码,最终是调通了。系统准备树莓派系统下载位置https://www.raspberrypi.org/software/operating-systems/ 。下载别的可以控制IO的系统也是可以的,之所以要用Raspberry Pi OS系统,是

2021-09-20 20:03:57 1805

原创 QT控件快速显示连续图像

QT控件中显示图像方法有三种,使用QLabel,QWidget,QOpenGLWidget。QLabel方式QLabel的方式,基本上是,把opencv的图像转换成QImage,然后再转成QPixmap,绘制到控件上。ui->label->setPixmap(*pixmap);QWidget方式:继承自QWidget类的子类里面,在paintEvent事件里面使用QPainter绘制QPixmap buff(this->size());QPainter p(&buf

2021-09-19 18:28:24 3349 2

原创 Qt中的DoubleValidator实现

qt中自带的DoubleValidator无法实现功能,因此需要自己实现。继承qt自己的QDoubleValidator类,重载validate函数。h文件:#ifndef MYDOUBLEVALIDATOR_H#define MYDOUBLEVALIDATOR_H#include <QObject>#include <QDoubleValidator>class MyDoubleValidator : public QDoubleValidator{ Q

2021-04-21 08:08:02 1937 1

原创 基于QT的可视化信号生成Dock

效果展示最近有一个生成不同信号类型的可视化需求,基于qt实现,效果如下:实现方式在qt中新建一个dock,会出现3个文件,分别时h,cpp,ui。在ui中绘制界面,包括下拉框和tab页,在每个tab页中绘制各自需要的控件。下拉框和tab页切换相互绑定void QSignalGenerator::on_tabWidget_currentChanged(int index){ ui->comboBox_type->setCurrentIndex(index);}void

2021-04-13 23:30:24 281

原创 matlab GUI的一些实用功能

背景最近用matlab的GUI设计了一个软件,用来控制simulink的仿真过程。开发了一系列很实用的功能。包括slider和编辑框绑定互动,表格,2D,3D图的实时刷新,文件的导入与解析,按钮特征的控制,定时器的使用等。以前也用过matlab的GUI设计过软件,当时是写了一个读取txt数据并进行分析的软件,https://blog.csdn.net/iamqianrenzhan/article/details/53192301。现在这个软件除了要有txt的导入与解析部分,还包含了其他的交互。slid

2021-04-11 11:41:29 838

原创 simulink 和 m文件交互

背景:simulink除了做仿真以外,其强大且可视化的模型设计能力也适合进行实际的物理设备控制。在控制物理设备时,需要编写s函数,用于读取物理设备的传感器,给物理设备发送控制指令。这部分通常会使用串口或者UDP通信,需要编写c++写的s函数,这个要讲明白,可能需要不止一篇博客,这个有时间可以详细整理下。不过笔者以前写过一篇,对这种方式进行了简单的介绍。https://blog.csdn.net/iamqianrenzhan/article/details/74086113。本文的主要内容是:在控制物理设

2021-04-11 11:02:49 2484

原创 python绘制频率直方图和进行傅里叶变换

需要的python包:pandas:pandas 是基于NumPy 的一种工具,该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。pandas的数据结构:**Series:**一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。

2021-03-09 08:17:18 475

原创 Qt中显示多路连续Halcon格式图像

定义显示这些图像的多个qt控件和halcon的窗口句柄。QWidget *m_Widgets[CONST_CAMNUM];HTuple m_HalconWnd[CONST_CAMNUM];重载主界面的尺寸改变事件,可以使halcon窗口和控件保持大小一致。virtual void resizeEvent(QResizeEvent * event);void MainWindow::resizeEvent(QResizeEvent *event){ QWidget::resizeEven

2021-01-24 08:53:30 290

原创 多核CPU集群及分布式内存系统编程模型

MPIMPI是一种基于信息传递的并行编程技术,这种技术经常被使用在分布式内存系统上。消息传递接口是一种编程接口标准,而不是一种具体的编程语言。,MPI标准定义了一组具有可移植性的编程接口。不同开源组织或者厂商都有针对自己机器特殊优化的MPI版本。MPI遵循了单程序多数据的方式,把工作量分割成不同的任务,在不同的处理器上执行。主要面向分布式内存架构,每个进程关联一个核心和一块内存,进程间的通信通过互联的网络实现。通信分为两种,点对点和广播。PGASPGAS被称为“全局地址空间分区”(Partitio

2021-01-04 21:55:56 1183 2

Nvidia显卡硬件光流SDK

可在Nvidia官网下载,这个下载比较快

2023-12-02

HK 网络SDK使用实例

HK 网络SDK使用实例

2023-12-02

任意自定义结构体Json配置文件读写

配置参数的读写,从技术选型上有ini,xml,json。由于ini原生不支持树结构,需要根据需要将父节点的option作为子节点的section,配置文件可读性变差。xml由于属性和元素分开的形式,不适合直接转为c++定义的树状结构。所以最终选择了json。 要想用c++实现一个通用的json文件序列化和反序列化工具,反射是绕不开的。c++语言原生不支持反射,因此要通过一些编程技巧实现。在查阅资料过程中发现了configloader https://github.com/netcan/config-loader,clone学习过程中发现该代码库目前仅实现了json文件的读取,写入还没有实现,因此,狗尾续貂,在此基础上实现了json文件的写入。

2022-08-28

GSL库VS2015 x64编译结果,静态和动态两种都有。

GSL库VS2015 x64编译结果,静态和动态两种都有。

2022-03-05

QT控件快速显示连续图像

QT控件中显示图像方法有三种,使用QLabel,QWidget,QOpenGLWidget。 实现了QOpenGLWidget方法,使用显卡,绘制效率很高。

2021-09-19

qt编写的kuka机器人控制demo软件.zip

qt编写的kuka机器人控制demo软件

2021-04-21

Intel® Advanced Vector Extensions Programming Reference.pdf

intel 并行指令集编程手册

2021-04-13

PointGray.zip

https://blog.csdn.net/iamqianrenzhan/article/details/89891456 具体介绍参考该博客。

2020-11-16

rplidar_sdk-release-v1.12.0.zip

Slamtec RPLIDAR(https://www.slamtec.com/lidar/a3) series is a set of high-performance and low-cost LIDAR(https://en.wikipedia.org/wiki/Lidar) sensors, which is the perfect sensor of 2D SLAM, 3D reconstruction, multi-touch, and safety applications. This is the public SDK of RPLIDAR products in C++,

2020-11-14

.cache.rar opencv4.5.0源码编译时需要远程下载的文件

opencv4.5.0源码编译时需要远程下载的文件,包括: opencv_videoio_ffmpeg.dll opencv_videoio_ffmpeg_64.dll ffmpeg_version.cmake vgg_generated_48.i vgg_generated_64.i vgg_generated_80.i vgg_generated_120.i face_landmark_model.dat ippicv_2020_win_intel64_20191018_general.zip 下载后解压放到源码根目录,使用cmake生成vs工程过程中不再需要下载这些文件。

2020-10-31

飞机模型_爱给网_aigei_com.zip

obj格式的飞机模型,可以使用qt的QCustom3DItem导入。 导入代码: item = new QCustom3DItem(); item->setScaling(QVector3D(0.03f, 0.03f, 0.03f)); item->setMeshFile("toy_ airplane.obj"); item->setPosition(QVector3D(0,0,0)); this->addCustomItem(item);

2020-09-08

QFCUWB.rar

在qt中解析串口设备,以LinkTrack UWB为例。关于资源内容后续后发布一个博客,博客的链接会放到评论区。

2020-06-27

QFCTopologyInput.rar

在qt中将图结构进行可视化,并可以编辑邻接关系。具体介绍参考:https://blog.csdn.net/iamqianrenzhan/article/details/105257745

2020-06-27

myqwtplot3d.rar

qwtplot3d也是qwt的扩展,用来绘制三维模型图。该库比较古老,很早就不更新了,本资源中对该库源码进行修改,使其可以显示三维曲线。

2020-04-02

opencascade-7.4.0-vc14-64.exe

opencascade的网站下载很慢,这里上传一个已经下载好的最新版windows安装版。安装版包含源码,也可以自己编译。

2019-11-17

kuka机器人通过EthernetKRL控制.rar

KUKA.EthernetKRL软件包提供了通过网络和机器人控制器进行双向通信的功能。使用TCP/IP协议,通过服务器端和客户端方式进行通信,网络传输通过xml进行配置,传输内容也是xml格式。通信延迟在2ms以下。因此可以做一些实时性比较高的任务,比如在线分拣等。本资源主要是实现kuka远程控制的一些代码及配置文件。

2019-11-17

Sapera_LT_8.30_SDK.exe

DALSA线阵相机和面阵相机的开发SDK。官网最新版是8.41,但是很难下载,这是网上找的的比较新的一个版本。

2019-07-30

椭圆拟合的c++方法.rar

椭圆拟合的c++方法,参考github链接 https://github.com/seisgo/EllipseFit,原版是qt版本,改为不依赖qt的版本。 包含两个文件:myEllipse.h和myEllipse.cpp 具体参考:https://blog.csdn.net/iamqianrenzhan/article/details/95536334

2019-07-11

Android树型控件实现.rar

包括界面和数据库的实现,本文实现了一个简单的部门树。 每个条目长按弹出菜单(删除本节点,增加叶节点,更改节点信息)。 界面效果具体可参考博客:https://blog.csdn.net/iamqianrenzhan/article/details/90726787

2019-06-01

灰点工业网口SDK spinnaker 1.20 Ubuntu18.04版本

spinnaker软件不好下载,这里上传Ubuntu18.04 的 1.20版本。 包含spinnaker软件包和pyhton扩展。

2019-05-06

匿名协议生成测试

匿名协议生成测试:根据匿名飞控协议,生成特定需要的消息。

2019-04-08

V-REP 3.6.1

官网下载地址:http://www.coppeliarobotics.com/downloads.html,下载速度很慢,这儿提供下载好的3.6.1版本

2019-03-24

Crypto++库实现AES和RSA加密解密

具体描述参考 https://blog.csdn.net/iamqianrenzhan/article/details/88583822

2019-03-24

windows下实现同时收发的串口类

这个资源分数怎么默认是5,并且不能更改? 代码内容具体参考:https://blog.csdn.net/iamqianrenzhan/article/details/86658747

2019-01-26

树形控件封装

具体参考https://blog.csdn.net/iamqianrenzhan/article/details/86520781

2019-01-17

数字近景工业摄影测量中Schneider编码标志的识别

在数字近景摄影测量中,最关键的图像间的匹配。但是由于工业测量现场复杂的背景和被测物体表面没有足够的特征,应用在双目视觉中基于关键点匹配的算法在效率、精度、准确率等方面,大多不能满足需求。于是在工业数字近景测量中需要人工设置的靶标点作为关键点进行匹配。 本程序就是实现Schneider编码方案靶标的自动识别。

2018-07-26

数字近景工业摄影测量中Schneider编码标志的自动生成程序

在数字近景摄影测量中,最关键的图像间的匹配,匹配使用的是人工设置的靶标。本程序可以实现Schneider编码方案的靶标自动生成。在程序中可以设置位数和是否反色。

2018-07-25

使用libxl库读取excel文件

在程序中读取excel文件比如XLS和XLSX,方法有很多,比如ADO,OLE,ODBC等方式。但是这些方法要么依赖于平台,要么读取速度慢,有的甚至需要电脑本身装有excel程序。 但是有一个付费的商业软件库Libxl,属于轻量化的读取工具,读取速度可以,且不依赖于平台,可在windows,mac,linux上使用。这个软件可以免费使用,但是一次加载限制操作300个单元,并且第一行不能进行读写。如果想打破限制,需要使用pojie版。本下载提供的就是使用这个版本的例程,使用libxl库读取excel文件。

2018-07-11

学生作业信息系统

实现的功能有:老师能在该系统中上传题目,批改学生作业,查看学生成绩,学生可以下载老师上传的题目,给出答案并上传,查看老师的打分和批注。

2018-06-23

在QT中使用visp库来抓取pylon相机的测试例程

在QT中使用visp库来抓取pylon相机的测试例程,具体查看文章 https://blog.csdn.net/iamqianrenzhan/article/details/79830579

2018-04-06

ViSP库显示图片的VS2015工程

在VS2015中使用visp库来显示jpg图片。具体参考文章https://blog.csdn.net/iamqianrenzhan/article/details/79830579

2018-04-06

offboard姿态控制qt界面程序

在qt中发送mavlink的offboard姿态控制消息,可以通过串口和udp发送。在界面中可以设置油门和姿态角

2018-03-26

全自动化的使用opencv的标定程序

具体的介绍参考http://blog.csdn.net/iamqianrenzhan/article/details/79266424

2018-02-09

二维码的特征定位和信息识别

二维码的特征识别和信息识别,具体的介绍参考http://blog.csdn.net/iamqianrenzhan/article/details/79117119

2018-02-09

激光传感器采集数据的障碍物特征提取

激光传感器采集数据的障碍物特征提取:激光测距仪能采集到的数据是一个180度的扇形范围内每隔0.5度的距离数据,每次采集有361个数据,根据这些数据把空间中的障碍物建立出来,并把这些障碍物中的直线特征提取出来。

2017-11-28

QT下写的界面程序,可以实现串口和UDP的字符串和16进制收发

用qt实现的界面程序,实现串口和UDP的字符串和16进制的收发以及qt界面美化的方法。 更详细的介绍及界面展示,请参考笔者博客,在CSDN上搜索“QT学习过程及简单串口和UDP通信demo开发过程及代码分享”。

2017-10-07

serialport精简版

实现功能:串口发送只能以字符串方式发送,串口接收数据需要以AA为帧头后跟9位字符。具体实现功能,请看链接:http://blog.csdn.net/iamqianrenzhan/article/details/53168259

2016-11-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除