- 博客(174)
- 资源 (34)
- 收藏
- 关注
原创 GPU连通域分析方法
基于游程的方法,不管是游程提取还是游程连接,都适合在CPU完成。比如游程提取步骤,换到GPU上,每行开启一个线程进行游程提取,其耗时已经超过了从GPU拷贝整张blob图像到CPU的时间。至于游程连接步骤,则更是不可能在GPU上实现。
2024-01-05 11:05:05 1497 3
原创 降采样方法对NCC得分的影响因素评估
基于互相关的方案,会使用金字塔的方法进行优化,定位工具的原理为使用4*4降采样,2*2降采样,原始图不同尺度进行关联定位。高层金字塔的候选定位结果指导低层金字塔的小范围搜索,当低层金字塔定位失败时,可用使用高层金字塔给出一个可用接受的定位结果。
2023-12-12 11:28:49 1441
原创 GPU CUDA 使用shared memory 运行速度不升反降原因与解决方案
GPU CUDA 使用shared memory 运行速度不升反降原因与解决方案
2023-11-11 14:21:22 557 1
原创 Ultralytics(YoloV8)开发环境配置,训练,模型转换,部署全流程测试记录
Ultralytics(YoloV8)开发环境配置,训练,模型转换,部署全流程测试记录
2023-10-04 21:42:26 5672 5
原创 Windows下Tensorflow docker python开发环境搭建
Windows下Tensorflow docker python开发环境搭建
2023-10-03 16:50:10 1557
原创 CUDA编程之GPU图像数据结构的设计
实现GPU上的图像数据结构,且可以同时使用nvcc和c++编译器进行编译,或者说c++代码链接cu代码。
2023-08-19 15:42:20 701 1
原创 Yolov7模型训练与部署
在工业上使用较多的基于深度学习从目标检测算法,那毫无疑问应该是yolo,凭借这效率和精度方面的优势,在一众深度学习目标检测算法中脱颖而出。
2022-10-06 00:45:01 9535 2
原创 GPU编程学习入门
本文使用的显卡是Nvidia,编程语言是CUDA。本文主要是记录一下学习GPU编程的过程,在一到两天的时间里,对GPU编程思想有一个大概的认识,为将来深入学习打下基础,也对GPU编程可以解决的问题边界有一个认知,不被讲PPT的忽悠。
2022-10-05 13:01:31 5700
原创 RDP直线圆弧分割算法
RDP(Ramer-Douglas-Peucker)算法用来对连续的边缘点集进行多边形逼近。因此也用来对边缘进行直线和圆弧的分割。
2022-10-04 21:25:42 1673
原创 正则表达式(regular expression)
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
2022-10-03 20:49:25 168
原创 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 614
原创 c++新标准有用的语法特性
最近读了一些开源库,发现开源库都会尽量使用最新的语言特性。大量开源库使用c++的新标准,一些新语法,新的模板元编程技术。如果不懂新标准增加的语法的话,这些开源库是很难读懂的,因此也很难用到自己的项目中。这也从侧面反映了,如果要写好一个底层库或者框架,需要对语言的掌握到一定的程度。这些新标准的加入,简化了一些编码工作。比如之前几十行代码解决的问题,现在只要几行就可以解决了;扩展了语言特性,使其看起来更加“现代化”;解决了之前不能解决或者需要很复杂的技巧才能解决的一些问题;...
2022-08-28 21:23:07 1439
原创 c++实现Json配置数据序列化和反序列化
配置参数的读写,从技术选型上有ini,xml,json。由于ini原生不支持树结构,需要根据需要将父节点的option作为子节点的section,配置文件可读性变差。xml由于属性和元素分开的形式,不适合直接转为c++定义的树状结构。所有最终选择了json。要想用c++实现一个通用的json文件序列化和反序列化工具,反射是绕不开的。c++语言原生不支持反射,因此要通过一些编程技巧实现。......
2022-08-28 18:43:00 1323
原创 Doxygen代码注释规范及API文档生成
第1章 API文档API(Application Programming Interface)文档是描述如何使用代码库提供的功能的说明文档,包括接口的介绍,使用方法,参数等信息。良好的API文档,可以使开发人员更快的学习API的用法,并集成到他们的软件中。也可以给测试人员用于设计接口的测试用例,包括对功能,逻辑,异常等的测试。1.1.包含哪些内容API文档必要包含的部分有,接口名称,功能描述,参数说明(名称,类型,是否可选,说明),返回值说明(类型,意义),使用示例(针对单个接口或一组接口)等。1.
2022-05-02 14:58:32 619
原创 积分图的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 1360
原创 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 4968
原创 GSL库使用cmake+vs2015编译
GSL(GNU Scientific Library)是一个数学计算的库,最近在做固定半径的圆拟合时,最终是使用这个计算库来解决的。在解决完固定半径圆拟合问题后,回过头来重新看这个库的功能,突然有一种杀鸡使用牛刀的感觉。GSL覆盖的功能包括:随机数生成,最小二乘拟合,样条曲线插值,数值积分,线代运算,一维/多维函数求极值/零点,小波变换,傅里叶变换等。GSL的官方网站http://www.gnu.org/software/gsl/提供的资料,要在Windows下编译成功,实现难度较大。在github有
2022-03-05 16:54:52 1505
原创 树莓派+SAKS扩展板实现数码管时钟
最近整理以前学校时候的东西,发现了很久之前的一块树莓派SAKS扩展板,正好手头有一个树莓派,就想着做点什么东西。这怎么写的写的就感觉在写日记啊?不管这么多,折腾了一个下午,终于实现了一个数码管时钟,没有多少开发的工作量,基本上是踩了一些坑,网上各处找教程,找源码,最终是调通了。系统准备树莓派系统下载位置https://www.raspberrypi.org/software/operating-systems/ 。下载别的可以控制IO的系统也是可以的,之所以要用Raspberry Pi OS系统,是
2021-09-20 20:03:57 1855
原创 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 3859 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 2024 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 311
原创 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 900
原创 simulink 和 m文件交互
背景:simulink除了做仿真以外,其强大且可视化的模型设计能力也适合进行实际的物理设备控制。在控制物理设备时,需要编写s函数,用于读取物理设备的传感器,给物理设备发送控制指令。这部分通常会使用串口或者UDP通信,需要编写c++写的s函数,这个要讲明白,可能需要不止一篇博客,这个有时间可以详细整理下。不过笔者以前写过一篇,对这种方式进行了简单的介绍。https://blog.csdn.net/iamqianrenzhan/article/details/74086113。本文的主要内容是:在控制物理设
2021-04-11 11:02:49 2670
任意自定义结构体Json配置文件读写
2022-08-28
QT控件快速显示连续图像
2021-09-19
rplidar_sdk-release-v1.12.0.zip
2020-11-14
.cache.rar opencv4.5.0源码编译时需要远程下载的文件
2020-10-31
飞机模型_爱给网_aigei_com.zip
2020-09-08
QFCTopologyInput.rar
2020-06-27
opencascade-7.4.0-vc14-64.exe
2019-11-17
kuka机器人通过EthernetKRL控制.rar
2019-11-17
椭圆拟合的c++方法.rar
2019-07-11
Android树型控件实现.rar
2019-06-01
灰点工业网口SDK spinnaker 1.20 Ubuntu18.04版本
2019-05-06
Crypto++库实现AES和RSA加密解密
2019-03-24
windows下实现同时收发的串口类
2019-01-26
数字近景工业摄影测量中Schneider编码标志的识别
2018-07-26
数字近景工业摄影测量中Schneider编码标志的自动生成程序
2018-07-25
使用libxl库读取excel文件
2018-07-11
在QT中使用visp库来抓取pylon相机的测试例程
2018-04-06
ViSP库显示图片的VS2015工程
2018-04-06
二维码的特征定位和信息识别
2018-02-09
激光传感器采集数据的障碍物特征提取
2017-11-28
QT下写的界面程序,可以实现串口和UDP的字符串和16进制收发
2017-10-07
serialport精简版
2016-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人