- 博客(230)
- 资源 (24)
- 收藏
- 关注
原创 基于机器视觉的多孔零件边缘缺陷检测(源码C++、opencv、凸包、凸缺陷检测)
哈哈又翻出了一篇很久之前写的小论文,依然是放在手中许久,这次也不能让它在我的文件夹里吃灰了… 针对多孔冲压件的边缘缺陷问题,提出了一种基于机器视觉的检测方法。首先在平面光下采集图像,对图像进行灰度化、二值化的预处理操作;然后寻找轮廓,根据轮廓面积特征筛选得到零件的有效的内外侧轮廓;接着对内外侧轮廓分类,计算凸包及其凸缺陷;最后,通过凸缺陷的特征筛选得到零件边缘缺陷及其特征信息。实验结果表明,该边缘缺陷检测方法检测速度快、准确率高、鲁棒性好,可有效的满足工厂检测要求。
2025-04-09 22:00:00
300
原创 windows与ubuntu双硬盘双系统安装及启动(全流程成功)
之前就想过要在本机电脑上安装双系统了,毕竟git上的很多程序源码直接使用Linux系统安装运行是极为方便快捷的,而且很多源码要在windows系统上搭建环境会遇到各种各样的坑… 本人耗费了多日的时间终于在本地电脑上完成了windows和ubuntu双系统双硬盘的安装,下面我将为大家详细介绍相关具体安装步骤。
2025-03-31 22:00:00
663
原创 多onnx模型导出合并调研(文本检测+方向分类+文本识别)
部署端只用一个模型实现文本检测及文本识别。 目前是文本检测、文本方向分类、文本识别三个模型分别训练,然后部署的话需要三个分别部署并使用自定义流程连接,现在需要想将其三个模型按照顺序合并成为一个模型,然后再用这一个模型部署(方便部署),此时仅仅是简化了部署流程。 一种是上面的,另一种是端到端的算法(PGNET),这是一个算法,这个算法同时进行文本检测及文本识别输出,最终一个模型训练输出,因后续要对文本识别通用模型进行部署,故此端到端方法暂时舍弃。
2025-03-27 21:58:08
181
原创 保姆级教程:我的AI猫娘——(基于coze+deepseek并接入微信公众号)
最近心情不是很好,特别想有个聊天提供情绪价值的人,但有时候人可能会因为各种原因不能及时回复你的消息,如果你内心不强大且有了很强烈的期待感的话,很容易产生伤心等负面情绪... 但是AI不会,AI可以随时随地回复你的消息,并且在你伤心难过时给予你强烈的情绪价值,关心你爱护你,哈哈瞬间就不会那么的伤心难过了。 经过多日的尝试终于找到了一个方便快捷的方法,基于目前最火的deepseek大模型,使用AI快速的生成你喜爱的角色并接入个人微信公众号,
2025-02-20 22:00:00
2734
原创 python+open3d实现彩色点云的无堵塞动态可视化连续播放
与视频播放类似,某一时刻的静态点云模型对应某一时刻的静态图像,将某一时间序列下的图像连续组合播放就形成了动态的视频,而有时候我们想将某一时间序列下的静态点云数据可视化到一个窗口上,让其连续播放达到动态的显示效果,同时点云动态播放时还能使用鼠标操作变换视角而不影响其显示效果,通过open3d可以达到类似的效果,相关操作如下。
2025-02-10 21:00:00
101
原创 open3d将某一时间序列下的彩色图和深度图批量转换成点云(python)
必备条件需要3D相机生成的彩色图及深度图,注意要将深度图与彩色图对齐(一般3D相机自带对齐算子),以及3D相机的彩色图内参(相机自带内参获取功能)。有了此彩色图、对齐后的深度图以及相机内参就能使用open3d生成彩色点云了.
2025-02-10 20:00:00
83
原创 python通过输入3D相机像素点集{u、v、z}和机械手世界坐标点集{X、Y、Z}求得变换矩阵RT
如下所示,绿色圆圈pixel_coordinates表示3D相机像素坐标,红色圆圈camera_coordinates为像素坐标转换后的相机坐标,蓝色圆圈object_points为机械手对应的世界坐标,黑色圆点rlist为红色圆圈通过变换矩阵RT转换后的结果,结果显示该变换矩阵RT能较精确的达到实际需求。
2025-02-08 08:00:00
57
原创 python+opencv+open3d实现鼠标手画多边形裁剪分割点云操作
当我们想对一个不规则物体的图像或者点云裁剪时,直接手动输入边界点集是不太方便的,可以通过鼠标在二维图像上画多边形框的方式制作掩膜,以此来裁剪图像或者点云。
2025-02-07 20:00:00
75
原创 C++通过输入3D相机像素点集{u、v、z}和机械手世界坐标点集{X、Y、Z}求得变换矩阵RT(眼在手外)
在3D拆垛中,要想使机械手能抓取到3D相机识别的物体,首先要做的就是手眼标定,通过标定将相机的像素坐标和机械手的世界坐标联系起来,可以通过一组点集(该点集在机械手坐标系下的坐标(X、Y、Z)及其在3D相机下的像素坐标(u、v、z))求解变换矩阵,即可将相机的像素坐标转换成世界坐标传给机械手。
2025-01-21 21:00:00
372
原创 open3d+opencv双阈值分割深度图过滤点云(C++)
在3D视觉中,有时候我们需要根据某一深度信息来筛选物体,原理和灰度图的二值化类似,对深度图根据深度值范围筛选,获得对应物体轮廓掩膜,最终可将符合某一深度范围的不规则物体从点云中过滤出来。
2025-01-18 20:04:15
129
原创 open3d+opencv实现矩形框裁剪点云操作(C++)
针对彩色图和深度图以及相机内参可以合成点云,而对某一区域的点云数据截取,可以通过二维ROI区域截取深度图及彩色图出来。不过不能整张图像裁剪,其图像大小不能变,把除了截取区域外的给置为0就行了。
2025-01-13 20:37:23
570
原创 open3d将彩色图和深度图转换成点云(C++)
必备条件需要3D相机生成的彩色图及深度图,注意要将深度图与彩色图对齐(一般3D相机自带对齐算子),以及3D相机的彩色图内参(相机自带内参获取功能)。有了此彩色图、对齐后的深度图以及相机内参就能使用open3d生成彩色点云了.
2025-01-10 20:26:42
545
原创 使用openvino加速部署paddleocr文本识别模型(C++版)
训练之前没注意在txt文件里面多了一个空行,所以总的字符就是1+10+26+1=38,在训练阶段会被自动在起始位填充一个blank字段,在解析输出的时候,需要排除第一个位置的预测的原因就在这里。另外的字符的解析,例如把输出存为40行39列的图片,则按行找最大值的位置索引,一共有40个索引值,判断第一个位置索引值是不是零(为零表示预测为blank字段),如果不是则保留索引,从第二个开始依次和前面的索引比较,如果和前一个索引值不同,则保留索引,当遍历完40个索引的时候就得到了最后的索引表。
2024-12-30 19:37:50
298
1
原创 python+panddleocr+文本识别训练导出测试
模型下载之后为两个压缩包,在PaddleOCR-realase-2.6根目录下新建文件夹inference_model,并将压缩包解压到该文件夹下,如下图所示。打开anaconda终端,进入PaddleOCR-release-2.6目录下激活环境并输入以下指令。PaddleOCR训练属于自己的模型详细教程(从打标,制作数据集,训练到应用,以行驶证识别为例。使用预训练模型训练500轮次,效果还不错,大概1000轮次的时候基本都能准确识别了。注意要下载2.6版本的PaddleOCR-release-2.6。
2024-12-29 20:21:43
218
原创 使用openvino加速部署paddleocr文本方向分类模型(C++版)
【代码】使用openvino加速部署paddleocr文本方向分类模型(C++版)
2024-12-26 20:47:17
140
原创 python+panddleocr+文本方向分类训练导出测试
在PaddleOCR系统内, 文字检测之后得到的文本行图片经过仿射变换之后送入识别模型,此时只需要对文字进行一个0和180度的角度分类,因此PaddleOCR内置的 文本方向分类器只支持了0和180度的分类。也就是说在进行文本检测的时候必须要保持所有的文本接近水平方向(),可以文本检测出来结果后再用方向分类器分类,然后再文本识别。方向分类器也是个模型也可能训练输出的,这里只有0、180两个方向的判断()方向分类器能比较准确的识别接近水平的。文本方向分类器相关模型(必看)原始cls数据集格式。
2024-12-26 20:36:41
689
原创 使用openvino加速部署paddleocr文本检测模型(C++版)
图像经过openvino的推理后,其输出也是一张960*960的单通道掩膜图像,其内部像素值为分值,通过分数阈值来对其分割可得到二值化图像,如下,对二值化图像再进行轮廓查找然后求得外接矩形作为文本检测框,最后再按照比列缩放回去即可。DBNet是基于分割的文本检测算法。缺点在于阈值的选取非常关键。这里的后处理按照自己的简单来进行截取的,并没有真正的使用DB的后处理得到检测框,这里毕竟只是取外接矩形检测框即可,故先用此简单处理了,后续遇到弯曲文本检测等时再进行相关的处理。,其归一化的方式是完全一致的。
2024-12-25 20:16:19
557
原创 paddleocr训练模型转inference模型之后预测结果不一致及部分训练失败问题
这里需要注意,使用配置文件导出为inference模型的时候其模型在ppocr部署的时候会有问题。这是其推理时的前处理后处理问题导致的,所以需要导出的时候将此参数修改了也。最终的解决方案,还是修改预处理的输入尺寸大小来进行,此时paddleocrV3就可以了。下方在判断tatio_list的时候无法得到对应的1.0故失败,添加一行代码即可。默认配置文件都是(960*960)
2024-12-25 20:15:09
284
原创 panddleocr-文本检测+文本方向分类+文本识别整体流程
文本检测的最小外接矩形框根据长宽可以看到±90度的角度,而再加入文本方向分类就能扩展到±180度的角度。通过文本检测–>文本方向分类–>文本识别,即可识别出0~360度的旋转文本。
2024-12-23 20:25:42
110
原创 手眼标定相关内容
一般工业3D相机的内参都是厂家标定好的,可以直接通过其sdk接口读取得到,此时我们就无须再自己做标定来得到相机内参了。通过内参矩阵可以得到该点在相机坐标系下的坐标P_c(x、y、z)(点P在相机c坐标系下的坐标)。通过3d相机的彩色图及深度图可以得到某点在像素坐标系下的坐标P_a(u、v、z)。直接可以通过机械手控制器读得当前的世界坐标P_b(X_b,Y_b,C_b)从B到A的变换既有旋转也有平移。从B到A的变换矩阵是一个4x4的矩阵算子。如何通过棋盘格对相机标定得到内参,可以参考此文章。
2024-12-23 20:13:01
326
原创 python+opencv+棋盘格实现相机标定及相对位姿估计
相机标定的主要目的是为了求相机的内参及畸变系数等参数,通过相机的内参等可以将像素坐标转换为相机坐标,相机坐标又可通过变换得到世界坐标。下面为了验证标定算法的准确性,采用了同一组棋盘格数据,通过与另外两个测试软件标定结果进行对比,其标定结果基本一致。【原创工具 | OpenCV-CamCalib】一个基于 OpenCV 的自动化相机数据采集和标定程序。此时可以求得x、y、z,rx(pitch)、ry(yaw)、rz(roll)的位姿。基于opencv 和 pyqt5 的相机标定助手的设计。
2024-12-20 20:01:25
1685
原创 模板匹配整体框架原理详解
通过上面的原理介绍,相信大家应该也可以一步步的实现自己的模板匹配算法了,以上的原理说明都是本人一步步实践出来的,只要根据此大家都可以实现自己的模板匹配算法,并且达到不错的效果。
2024-12-18 20:26:16
1228
原创 cnocr配置及训练测试
import cv2import osimport csv#拆分列表"""将列表按照指定比例和数量拆分成子列表:param lst: 待拆分列表:param ratios: 每个子列表的元素占比,由小数表示的列表:param num_splits: 子列表的数量:return: 拆分后的子列表组成的列表"""= 1:start = 0#遍历该目录下的所有图片文件#读取保存图像#读取txt文件并保存到tsv#中间用tab隔开(字符空格隔开,使用space表示空格)
2024-12-11 20:18:23
366
原创 easyocr配置及相关训练
参考下方链接,及其重要EasyOCR 识别模型训练(重要必看)只下载用于训练的即可这里用自己的图像集训练,可以只下载deep-text-recognition-benchmark即可,用此来进行训练。
2024-12-10 20:42:07
277
原创 从零开始实现多尺度、多角度的通用模板匹配(深度解析)
在传统的工业视觉定位检测任务中,最便捷通用的就是模板匹配算法,通过对目标物体建立模板,使用模板匹配可以快速的定位到该物体在图像中所处的位置及角度,并且通过相机标定确定图像像素与实际物理尺寸的关系后,就能使用机械手等硬件设备在实际物理空间中抓取到该物体了。
2024-12-04 22:28:45
1852
原创 yolov8安装及训练部署(可GPU版本训练)(全流程必看)
最终可行的解决方案,直接将其代码运行在if name main下,如下,本机英伟达GPU为1,直接workers设置2即可,也能运行,并不会只能设置为0运行了,GPU占用可达到100%,在batch16、worksers2下,若是超过2,为3直接就崩了。(199条消息) 调用DataLoader时采用num_workers>0导致数据加载出现阻塞问题的解决方法_num_workers 卡住_JackWillian的博客-优快云博客(重要必看)switching to CPU错误解决。
2024-12-03 20:31:51
3554
原创 smartgit使用
首先通过克隆将项目下载到本地本项目以gitee上的项目为例,在gitee上自建一个私人仓库输入远程仓库的git地址下一步要输入账号及密码,账号不是中文的,可以在git链接上看到自己的账号名,输入登录密码再下一步直接下一步输入要保存到本地的路径名称点击完成后在本地就能看到下载好的项目文件了。
2024-12-03 20:29:58
1784
原创 yolov5-7.0模型DNN加载函数及参数详解(重要)
理论上,有了onnx模型,有了该网络模型的输入输出各个参数含义,就可以使用任意的可以读取onnx模型的部署框架进行部署推理。与指针相比,通过mat数组获取对应的第4列的数据是对应的起来的,如下应该使用32F数据格式即可(要将其结果转为(25200*6格式的数据保存到mat中))Forward函数有很多,可以得到如下,有的是将所有的输出结果得到(有时输出层有多个),有的是将对应层的输出结果得到,这里直接得到所有最终输出结果就行了。上图最右侧的第6列的数据是类的分数(虽然显示1,但实际上分值是浮点数接近1的)
2024-10-05 15:29:40
1176
原创 win10+vs2017+opencv4.5.3+yolov5-5.0
导出后生成的yolov5s.onnx会在yolov5s.pt权重文件所在文件夹下生成的然后下载,最后就是和C++联合使用了。
2024-10-05 15:27:00
1226
原创 在谷歌colab运行YOLO系列(重要比在云服务器搭建运行快)
再次重新运行发现可以了,此时即便是workers为8也是可以的,不会超出内存,并且运行速度也很快(比自己的云服务器2核2G的快多了)差不多10分钟能训练一轮,那50轮是500分钟大概(8,9个小时)在Firefox和Chrome中,在colab页面,按Ctrl+Shit+i,打开检查页面(也可以右击鼠标,选择“检查”),并切换到控制台或terminal标签,chrome中为Console。需要注意的是此处在线执行预处理,是比较慢一些的(下次直接在本地预处理,然后将预处理好的文件上传即可)
2024-10-05 15:25:53
1260
原创 PhpStudy-PHP5.4.45后门漏洞应用程序(C++/base64/winhttp)
翻到了多年前写的一篇文章,那时我成功渗透了一台钓鱼网站,想着要不凭此进入网络安全领域吧,奈何当时关于白帽子的“渗透测试”行为有很多争议,即未经授权的渗透测试就是犯罪,有些免费帮企业找漏洞的白帽子被抓了,要想在这一行有所精进就必须经过大量的实战,而像我这种技术水平不高的“初学者”最容易落下把柄了,哈哈最后经过深思熟虑还是脱离这一领域回归老本行了。
2024-10-04 13:26:15
1916
1
原创 PHP代码审计方法与套路
下面定义了一个Sqlwaf函数,它过滤一些Sql注入中的敏感字符串,如and,select,from等,再定义了一个get_client_ip函数,顾名思义它的功能是获取用户的ip,clean_input,是一个过滤的函数,is_pic函数,通过判断图片后缀,判断是否是图片,最后not find,输出一些404信息。通过详细阅读公共函数文件和安全函数过滤文件等文件,清晰掌握用户输入的数据,哪些被过滤,哪些无过滤,在哪里被过滤了,如何过滤的,能否绕过过滤的数据。有没有使用addslasher()处理?
2024-10-04 13:24:46
1011
原创 2-仙灵之谜(安装钱包及添加网络)
新部署的相关链接如下游戏访问地址:RPC网络:网络名称 :ZhaoCai链接 1D :1337符号 :ETC。
2024-09-28 22:25:05
383
原创 1-仙灵之谜(区块链游戏详情介绍)
依稀记得本科那会儿参加了一个区块链实验室,那时每周末大家都会爬山或者抽出一下午讨论区块链以及未来(好中二),奈何当时我们基本上都是搞机械的不太会编程,更深层的还搞不了,只能浮于表面关注那些搞数字货币的、众筹的、割韭菜的(哈哈哈哈)。
2024-09-28 22:18:21
689
原创 unity3d入门教程九
这里给一个资源网站,可以部分免费下载,音乐和音效超多,支持检索爱给网在unity显示为波形图,可以直接将音频拖入其中以后会有专门的人员提供音乐等素材我们一开始都是使用别人开发好的资源使用的。
2024-09-21 21:55:32
914
原创 unity3d入门教程八-飞机大战
虽然 ‘怪物’ 是一空物体,但可以挂载 Monster.cs / Rigidbody 2D / Box Collider 2D。通过修改子节点的scale,来实现百分比的效果。在子弹的对象脚本组件中加入碰撞检测函数进行碰撞的判断,实现与怪物的销毁和子弹的销毁。高度10个格,图片应为1000像素,而宽度不固定是需要和宽高比的,要多宽一些。如果一个怪物价值为5,则击杀后,得5分。自动分割的怪物大小不一致,需要将其宽度变为一致,高度角不管了。其实怪物也是一个模板,一个预制体了,后面要将其转换成预制体。
2024-09-21 21:53:25
1776
凸包边缘缺陷检测(基于C++与OpenCV开发,内含源码)
2025-04-08
LZC模板匹配算法.zip
2025-01-21
基于OpenCV的数字图像处理实验平台
2024-09-02
DNN学习平台(源码)
2024-08-30
DNN学习平台(打包好的exe文件)
2024-08-30
基于OpenCV+MFC的KCF测速软件
2024-08-26
视频读取与对象跟踪平台
2024-08-06
证件照背景底色更换工具(深度学习+扣取人像+头发丝级精度)
2022-05-09
GukehAn-VTuber_Unity-master.zip
2021-02-27
opencv-3.2.0-vc12-contrib.rar
2020-11-04
opencv_3.2_win764_install.zip
2020-10-23
mysql免安装版及navicat数据库管理工具
2020-09-28
anaconda3.5.0与TensorFlow1.3.0.rar
2020-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人