自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

boss-dog

选择大于努力,行动胜于空谈。

  • 博客(274)
  • 资源 (3)
  • 收藏
  • 关注

原创 海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(二)

本文接上次的博客海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(一),上个博客中并未用到QT,本文介绍项目内容及源码,供大家参考。由于我的项目中是用海康相机作为拍照的一个中介,重点是在目标识别方向,请阅读源码时自动忽略。如果对目标识别感兴趣,可以参考我的YOLO系列https://blog.csdn.net/qq_45445740/category_9794819.html目录1.说明1.1 环境配置1.2 背景说明2.源码MvCamera.hmythread.

2021-02-28 11:47:47 24751 920

原创 海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(一)

最近在做一个项目,涉及到工业相机,需要对其进行二次开发。相机方面选择了海康威视,网上关于海康威视工业相机SDK的开发资料很少,自己也摸索了一段时间,请教大佬,终于有了些收获,记录下来,方面以后查阅。目录1.说明1.1软硬件相关配置1.1.1硬件选择1.1.2软件选择1.2关于安防相机与工业相机1.说明1.1软硬件相关配置1.1.1硬件选择工业相机我选择的是海康威视的,具体的参数如下:工业相机资料:https://c109334.hi1718.com/news/201831317343619.

2020-11-10 14:01:55 34269 64

原创 《Python神经网络编程》自己动手编写一个神经网络

最近在看一些经典论文,想要动手复现其中的代码,无奈自己水平过于低,总感觉对于神经网络的理解不够深入,于是想补一下相关的知识。便找到了《Python神经网络编程》这本书,若稍微有些基础看起来很快,看完之后给我的感觉是对于神经网络的基本知识、神经网络背后的核心思想有了更深的理解,及时记录下来,方便自己学习。首先附上这本书的PDF与相关资源链接:https://pan.baidu.com/s/1lcVimFBDDCYGTIi6xzxV_g提取码:oiv7...

2020-06-15 17:57:48 11930 14

原创 【职场生存必修课】50个关键场景应对指南:面试、沟通、晋升、心态调整全涵盖

1.靠谱的交付能力2.快速学习的能力3.共情的沟通能力4.心态调节能力切记:一定要先找+1领导进行沟通,表明自己是在意的,说下自己的想法并且让领导给出些意见。1.站在公司角度考虑问题,思考战略,与公司大方向有关,否则难以展现价值技术同学:可以写我们推进和完成了这么一个工作,支撑了公司今年在这个新业务上创造了多少的产值和产能,为公司带来的整体收益是2000多万,从技术角度支撑来讲,占比30%。

2025-06-04 15:42:13 159

原创 关于面试找工作的总结(四)

HR您好,不好意思打扰您,我是之前应聘XX岗位的XXX,之前很荣幸收到贵司的offer,但当时由于距离问题拒绝了贵司的offer,随后我经过慎重的考虑,觉得贵司的岗位、企业文化、发展前景都与我的职业规划很匹配,经过仔细考虑我还是希望可以加入贵司,距离的问题我已解决,请问这个岗位现在还在招聘吗?

2025-06-04 14:30:17 103

原创 我的创作纪念日

突然收到了CSDN消息通知,距离我写第一篇博客已经过去了2048天,回首过往,那时候的自己还在读研,转眼间已经工作快三年了。。。

2025-06-02 23:24:06 497

原创 手眼标定:九点标定、十二点标定、OpenCV 手眼标定

因为一直使用6轴协作机器人,且主要应用是三维视觉,平常的手眼标定基本都是基于OpenCV来计算的,听说有九点标定和十二点标定,顺便了解下。

2025-05-25 22:50:54 1669

原创 面经总目录——持续更新中

本面经总结了校招时我面试各个公司的面试题目,每场面试后我都及时进行了总结,同时后期补充扩展了同类型的相近面试题,校招时从两个方向进行投递,和(C++方向),所以我都整理了两个岗位的相关面试题,大家可以根据需要所取。面经目前包含:C++语言面试题、Python语言面试题、Qt、YOLO算法、OpenCV、K-means、Dropout、BN、NMS、IOU、数据增强、模型优化、计算机网络和通讯协议相关面试题、CV基础等等,同时还包含中一些常见的面试题。

2025-05-20 20:47:10 880

原创 【ArUco boards】标定板检测

ArUco板是一组标记,其作用类似于单个标记,因为它为相机提供了一个单一的姿势。最受欢迎的板是所有标记都在同一平面上的板,因为它很容易打印:然而,棋盘不限于这种排列方式,并且可以表示任何二维或三维布局。一个板和一组独立标记的区别在于,板中标记之间的相对位置是先验已知的。这使得所有标记的角点都可以用来估计相机相对于整个板的姿态。当你使用一组独立的标记时,你可以单独估计每个标记的姿态,因为你不知道环境中标记的相对位置。1.姿态估计更加通用。只需要一些标记就可以进行姿态估计。

2025-05-05 22:16:56 1108

原创 Windows11中卸载CUDA并安装新的版本

2.找到环境变量和系统变量的path,点击编辑,若发现path中没有含CUDA的环境变量,证明刚刚第一步卸载CUDA的时候系统已经自动删除,若系统没有自动删除(path中仍然含有。因为上面看了当前显卡驱动版本最高支持到CUDA 12.7,这里选择安装CUDA 12.5.1版本。下载好exe文件之后,双击直接按照安装提示一步步安装即可。测试CUDA是否安装成功,重新打开命令行,切换到。这样含有CUDA的路径),则需要手动删除。文件夹,删除该文件夹即可。验证CUDA是否安装成功。测试程序,看结果是否为“

2025-05-05 07:45:00 972

原创 机械臂只有位置信息是否可以进行手眼标定?

平常我在做手眼标定时,一般都是通过OpenCV的cv::calibrateHandEye函数进行求解,需要输入多组不同的机械臂位姿。今天遇到了一款舵机机器人,只能获取位置,得不到姿态信息,想着那就把姿态都设为0,结果求不出来。。。

2025-04-12 22:30:25 812 4

原创 Ubuntu22.04——YOLOv8模型训练到RK3588设备部署和推理

PS:由于部署系统为瑞芯微开发板,因此需要下载瑞芯微修改后的yolov8源码(只修改了export.py导出部分,训练用yolov8的源码也没问题),且版本与训练PT模型时的ultralytics版本最好一致或高于训练版本(我训练时用的是v8.2.0版本,瑞芯微官网我看是v8.2.71,后续可以直接用瑞芯微官网提供的yolov8源码进行训练)。打开yolo的源码仓库,进去之后会发现不管是什么版本,所有的Tags都是8.x.x,无法分清是yolov8还是yolo11。尝试删除构建目录中的CMake缓存文件。

2025-04-07 09:16:11 559

原创 YOLOv8——模型训练后生成的文件和图表分析

在YOLOv8模型进行训练之后,会在/runs目录下生成训练结果,其中会生成相应的权重文件、图表、图像等。

2025-04-06 16:58:15 1618

原创 YOLOv8-seg部署RK3588报错:Failed to call RockChipRga interface

rk3588开发板部署yolov8-seg模型报错:Failed to call RockChipRga interface, please use ‘dmesg’ command to view driver error log.

2025-04-06 10:34:48 963 4

原创 OrbbecDaBai DCL 使用和ROS2话题发布

不支持DCL,所以我用的之前验证过的版本驱动。PS:由于官网最新的ROS2驱动。

2025-03-17 14:43:54 436

原创 视觉在协作机器人上的场景应用

看了UR、ABB等协作机器人公司的一些视觉方面的应用,总结大概有下面几个方面。

2025-03-06 23:45:41 829

原创 Ubuntu22.04系统安装Anaconda、CUDA和CUDNN

之前一直在Windows系统下使用Anaconda和CUDA加速,最近需要复现一个算法,文档里面有Linux系统conda构建环境的教程。本篇博文参考,记录自己安装的过程,便于以后需要。

2025-02-24 00:13:57 5615 2

原创 解决:Conda虚拟环境中未设置CUDA_HOME的问题

背景:我是Ubuntu22.04系统,最近在复现FoundationPose算法,按照README构建部署环境时,有一步一直卡住,看了下是未找到CUDA_HOME这个环境变量。网上搜了下这个错误,需要设置CUDA_HOME的环境变量路径,一般是在路径下。

2025-02-23 15:29:41 3809

原创 YOLO11学习

【代码】YOLO11学习。

2025-02-20 22:56:04 317

原创 ARM系统源码编译OpenCV 4.10.0(包含opencv_contrib)

因项目部署在ARM系统上,需要编译一个arm版本的opencv-4.10.0(带opencv_contrib)版本。

2025-02-15 17:51:44 427

原创 Ubuntu22.04系统安装使用Docker

Docker 用于自动化应用程序的部署、扩展和管理。它通过容器化技术让应用能够在不同环境之间一致地运行,避免了传统部署方式中因不同系统配置导致的问题。

2025-02-15 11:36:24 5484 3

原创 Gitlab中如何进行仓库迁移

需求:之前有一个自己维护的新仓库A,现在需要将这个仓库提交并覆盖另一个旧的仓库B,需要保留A中所有的commit信息。

2025-02-08 15:00:00 1759

原创 对海康威视工业相机进行取图

@brief 采用超时机制获取一帧图片,SDK内部等待直到有数据时返回* @param handle [IN] 设备句柄* @param pData [IN][OUT] 图像数据接收指针* @param nDataSize [IN] 接收缓存大小* @param pstFrameInfo [IN][OUT] 图像信息结构体* @param nMsec [IN] 等待超时时间* @return 成功,返回MV_OK;失败,返回错误码。

2025-01-27 10:49:21 607

原创 C++内存泄露排查

内存泄漏是指程序动态分配的内存未能及时释放,导致系统内存逐渐耗尽,最终可能造成程序崩溃或性能下降。在C++中,内存泄漏通常发生在使用new或malloc等分配内存的操作时,但没有正确地使用delete或free来释放这块内存。在日常开发过程中,为了避免内存泄露,一般都用智能指针去自动管理内存,避免忘记释放。

2025-01-13 23:14:24 1658

原创 YOLOv5对象检测-从训练到量化部署

YOLOv5是历史上第一个Pytorch版本,之前的V1—V4都是C++的Darknet版本各模型介绍一般想要速度快就选择YOLOv5s,精度高选择YOLOv5l,YOLOv5x性价比不高,参数多了很多,速度也慢了很多但精度提升的不明显。Backbone (骨干网络)Backbone 负责提取图像的基本特征。在 YOLOv5 中,使用了一种基于 CSPDarknet(Cross Stage Partial Darknet)的主干网络,它是一种改进的卷积神经网络,用于提高网络的学习效率并减少冗余计算。

2024-12-29 12:10:06 227

原创 Intel RealSense D435 / D405使用和发布相机的ROS2话题

Linux系统intelRealSense相机SDK开发C++IntelRealSense-D405深度信息单位:0.1mm。IntelRealSense-D435深度信息单位:1mm。

2024-12-29 11:46:26 1938 3

原创 《Pytorch框架CV开发-从入门到实战》

Pytorch框架CV开发

2024-12-24 21:56:22 208

原创 3D视觉坐标变换(位置和姿态)(像素坐标转换得到基于相机坐标系的坐标)

在图像处理中,我们经常得到目标的坐标是像素坐标,需要将其转换到相机坐标系下的实际物理坐标。使用场景:根据深度学习模型,已经完成了目标检测,使用3D相机,得到目标在图像中的像素坐标和深度信息,需要将。

2024-12-24 20:56:52 811

原创 ROS2中通过launch读取.yaml配置文件启动节点

环境:Ubuntu22.04,ROS2-humble通过修改.yaml配置文件中的参数,可以不用重新编译源代码进行软件调试。

2024-12-24 20:38:18 1216

转载 CMake入门教程

CMake 允许开发者指定整个工程的编译流程,在根据编译平台,自动生成本地化的Makefile和工程文件,最后用户只需make蓝色虚线表示使用makefile构建项目的过程红色实线表示使用cmake构建项目的过程CMake优点:①跨平台②能够管理大型项目③简化编译构建过程和编译过程④可扩展:可以为 cmake 编写特定功能的模块,扩充 cmake 功能。

2024-12-24 15:19:19 209

原创 Ubuntu22.04系统下MVS运行海康威视工业相机

之前的开发环境是Ubuntu16.04,最近因项目需求换到了Ubuntu22.04系统,安装了ROS2-humble,重新记录下开发过程。

2024-12-17 23:43:20 2564 1

原创 C/C++多线程和线程同步

线程是轻量级的进程(LWP:light weight process),在Linux环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合,指令按照既定的逻辑控制计算机运行。操作系统会以进程为单位,分配系统资源,可以这样理解,进程是资源分配的最小单位,线程是操作系统调度执行的最小单位。

2024-12-15 23:00:17 1188

原创 ROS2-humble中指定OpenCV版本进行开发

本地是Ubuntu22.04系统,安装了ROS2-humble,看了下humble自带的OpenCV版本4.5.4,由于DNN模块读取.onnx格式的模型要用OpenCV4.7及以上的版本,于是编译了4.10.0的OpenCV,但开发ROS2节点时,虽然CMake中已经指定了OpenCV的依赖路径,但还是会依赖系统中自带的OpenCV版本。

2024-12-15 16:51:46 927

原创 【ChArUco Marker】标定板检测

ArUco标记和板非常有用,因为它们检测速度快且用途广泛。然而,ArUco标记的一个问题是,即使在应用亚像素精炼之后,其角位置的准确性也不是很高。相反,棋盘格图案的角点可以更准确地精炼,因为每个角点都被两个黑色方块包围。然而,寻找棋盘格图案不如寻找ArUco板那么通用:它必须完全可见,且不允许有遮挡。ChArUco试图结合这两种方法的优点:ArUco部分用于插值棋盘角的位置,因此它具有标记板的多功能性,因为它允许遮挡或部分视图。此外,由于插值的角属于棋盘,因此在亚像素精度方面非常准确。

2024-12-10 19:20:00 1707

原创 Ubuntu22.04系统源码编译OpenCV 4.10.0(包含opencv_contrib)

因项目需要使用不同版本的OpenCV,而本地的Ubuntu22.04系统装了ROS2自带OpenCV 4.5.4的版本,于是编译一个OpenCV 4.10.0(带opencv_contrib)版本,给特定的项目使用,这就不用换个设备后重新安装OpenCV 了,直接依赖编译好的包使用。

2024-12-04 17:51:56 2804 1

原创 视觉算法中常用代码整理

目录1.确定ROI区域左上角和右下角的像素坐标1.1 通过PhotoShop软件实现1.2 代码实现2.对ROI区域以外的部分进行模糊处理3.根据深度信息对图像进行背景模糊4.深度学习模型标签的格式转换4.1 xml格式转换txt4.2 实例分割seg——json格式转换txt4.3 目标检测——json格式转换txt4.4 将YOLO训练的.txt格式标注转换为.json格式5.YOLOv8模型推理源码5.1 Python:使用onnxruntime对.onnx格式的yolov8目标检测模型进行推理5.2

2024-12-01 10:46:10 150

原创 线程安全的单例模式

单例模式(Singleton Pattern)是一种设计模式,旨在确保一个类只有一个实例,并提供全局访问点。

2024-11-29 15:06:31 339

原创 (四)3D视觉机器人的手眼标定(眼在手外)

3D视觉机器人指的是机器人通过3D相机提供的3D点云视觉信息,完成某些实际的功能。目标是将场景信息从相机坐标系变换至机械臂坐标系中,最终是获得相机到机械臂基座的空间变换矩阵。下面以眼在手外标定为例:上图中,相机④固定在工作空间中,标定板③被固定在机械臂末端②上,为了做手眼标定在末端上固定一个标定板。标定过程中标定板③和机械臂末端②固定位姿不变,由上图可知,相机④和机械臂基座①的相对位置不变,然后通过示教器控制机械臂带着标定板③。

2024-11-24 20:05:27 2843

原创 关于相机选型的一些参数说明

卷帘快门(Rolling Shutter)和全局快门(Global Shutter)是两种常见的摄像头快门类型,它们在图像采集时对时间的控制方式有所不同,影响着图像的拍摄效果和适用场景。卷帘快门 (Rolling Shutter)是一种逐行扫描的快门方式,在该模式下,图像的每一行是依次曝光的,而不是在同一时刻对整个图像进行曝光。传感器是一种二维图像传感器,每个像素对应于图像的一个点,传感器以“区域扫描”的方式一次性捕捉整个场景的图像。面阵传感器适合需要一次性捕捉整个图像的场景,如数码相机拍照、监控视频等。

2024-11-22 11:56:15 1931

原创 TensorRT——YOLOv8对象检测部署

它的意思是 np.bool 在当前版本的 NumPy 中已经被删除或者不再支持。NumPy 从版本 1.20 开始,弃用了 np.bool,并建议使用 bool 或者 np.bool_ 来替代。可以看到,降低numpy版本后其他的库会对numpy有版本要求,如果该环境只需要TensorRT推理那降低版本没问题,根本方法还是需要升级TensorRT版本或者修改代码去解决。可通过上面的代码加载和验证一个 ONNX 模型的有效性,如果模型有效,会直接返回,没有任何输出,就表示模型是有效的。格式(此过程耗时较长)

2024-11-20 09:12:40 261

opencv-4.10.0-Linux-aarch64

opencv-4.10.0-Linux-aarch64

2025-02-15

海康工业相机MVS安装包

海康工业相机MVS安装包

2024-12-17

OpenCV-4.10.0源码编译

OpenCV 4.10.0(包含opencv_contrib)源码编译,可直接依赖相关库进行二次开发。

2024-12-15

Linux实时内核5.15.137

Linux实时内核: linux-headers-5.15.137-rt71_5.15.137-rt71 已打补丁(解决无线网卡5g频段 no IR的问题): https://github.com/pagxir/linux-patch/commit/819ac8cc0a4fdee32f2b9a881bced045a671af73

2024-01-27

7822UAC Linux驱动

EDIMAX EW-7822UAC无线网卡 Linux系统驱动 使用 DKSM(支持动态内核模块)

2023-12-13

EDIMAX EW-7822UAC无线网卡 Linux系统驱动

Linux无线网卡驱动 型号:EDIMAX EW-7822UAC

2023-12-10

turbovnc-3.0.3-amd64.deb virtualgl-3.1-amd64.deb

turbovnc-3.0.3-amd64.deb virtualgl-3.1-amd64.deb

2023-04-21

SunloginClient-11.0.1.44968-amd64.deb

SunloginClient-11.0.1.44968-amd64.deb

2023-04-21

正负样本的数据集.zip

案例中的正负样本,直接将这两个正反例数据集放到项目中即可使用,我使用的是pycharm 。。。。。。。。。。。。。。。。。。。。

2020-02-25

ubuntu16.04源码编译wireshark2.6.10

解压文件后进入到bin目录, 打开终端,需要指定临时的环境变量,防止文件找不到动态链接库.so,lib就是wireshark的依赖库。 终端运行: export LD_LIBRARY_PATH=解压后的lib库路径:$LD_LIBRARY_PATH 再次运行wireshark, ./wireshark 如果出错,ldd wireshark查看缺什么库。

2022-06-21

opencv4.1.1扩展包

阅读《Opencv3 编程入门》后面两章,所需要的模块 Opencv的扩展模块,进行SIFT、SURF等等的特征检测与匹配

2019-12-09

空空如也

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

TA关注的人

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