- 博客(76)
- 资源 (2)
- 收藏
- 关注
原创 windeployqt的使用方法
2. 输入windeployqt.exe xxx.exe,注意exe是绝对路径。按下enter键,便可以将xxx.exe所依赖的QT文件copy到xxx.exe的同级目录中。3. 举个例子,未执行windeployqt.exe之前如下图所示。
2022-11-20 16:13:57 1973
原创 问题解决:CUDA unkonwn error,changing env variable CUDA_VISIBLE_DEVICES
*Linux 下CUDA环境的bug:**cuda unknown error this may be due to an incorrectly set up environment ,changing env variable CUDA_VISIBLE_DEVICES after program start.Setting the available devices to be zero.**解决方案:**在环境变量中添加CUDA的环境变量。
2022-10-25 13:23:26 1131
原创 义和利他主义
电影《蒙古王》有这么一幕:札木合为当时最强大的蒙古部落首领之一,札木合的部下自愿脱离札木合,跟随势力弱小的铁木真,其主要原因是铁木真将战胜获得的财物分给这些人,而札木合则自己留下。我能在28岁悟到这个道理,心中生出几分英雄气,未来可期,加油!男人最重要的是责任和担当,不要畏首畏尾,我愿自己永远心怀正气,充满勇气!刘备起兵时27岁,在诸侯混战的年代,直到48岁才有真正的立足之地,期间颠沛流离。2022年10月22日于上海。将来有一天,我创办了一家企业,也要怀“义”和“利他”之心,如此才能成事儿。
2022-10-22 20:30:42 221
原创 Windows 查看 exe 依赖的 dll 的方法
Dependencies 官方仓库 https://github.com/lucasg/Dependencies。链接:https://pan.baidu.com/s/1qHk9XWEIrSLUhM0icl7UuA。
2022-08-19 18:17:16 398
原创 Libtorch教程(二):基于Libtorch分类模型推理
python 将pytorch的模型转为trace模型,这种模型包含既包含模型和权重。c++ libtorch推理代码如下。
2022-08-14 19:42:28 1617 5
原创 Libtorch教程(一):Libtorch的下载与介绍
libtorch解压后如下图所示:最核心的是include和lib这两个文件夹。其实,不管是libtorch,还是别的tensorrt、openvino等模型部署工具,其本质都是给用户提供include和lib去使用。
2022-08-13 17:34:52 2923
原创 Macro clash with min and max -- define NOMINMAX when compiling your program on Windows
Macro clash with min and max -- define NOMINMAX when compiling your program on Windows
2022-07-19 13:25:01 1468 1
原创 AI: the Elephant in Room
写一篇文章,来描述AI在图像方面的局限与问题。将主要参考论文《The Elephant in the Room》和《Adversarial T-shirt! Evading Person Detectors in A Physical World》
2022-06-19 10:48:06 141
原创 全局快门和卷帘快门的区别
相机的快门模式分为全局快门和卷帘快门两种,快门模式由相机使用的传感器特性决定。支持全局快门的相机,每一行同时开始曝光,同时结束曝光,曝光完成后,数据开始逐行读出。支持卷帘式快门的相机,第一行曝光结束后,立即开始读出数据,数据完全读出后, 下一行开始读出数据。全局快门同时曝光传感器网格中的所有像素,因此最终数字图像的每个像素都是在同一时刻捕获的。这意味着不会发生由于使用卷帘快门而导致的移动物体/场景的图像失真。全局快门传感器通常比卷帘快门传感器尺寸更大、更感光。然而,全局快门传感器更昂贵,且最大帧率可能低于
2022-06-14 16:05:22 5393 1
原创 基于mediapipe的手势数字识别
基于mediapipe识别手势所对应的数字(一、二、三、四、五)。mediapipe的官网总体思路:mediapipe可以识别手掌的关键点,我的思路是识别单根手指是否弯曲,然后根据五根手指的弯曲程度判断手势所对应的数字。那怎么判断单根手指是否弯曲呢?我是根据手指的四个关键点的相对位置。比如识别大拇指的弯曲程度,先计算点4和点3的角度a,再计算点2和点1的角度b,最后计算角度a和角度b的差值的绝对值,如果绝对值小于12度,则认为大拇指是伸直的。其他手指同理。那怎么根据五根手指的弯曲程度判断手势所对应的数
2022-06-03 20:12:51 9821 1
原创 python-OpenCV使用滑动条动态控制参数
用opencv时,你一定遇到过手动调参的场景,是不是很麻烦?我觉得麻烦,用opencv里面自带的滑动条动态控制参数,岂不是很香?1.创建滑动条cv2.createTrackbar('Threshold', 'image', 0, 255, updateThreshold)功能:绑定滑动条和窗口,定义滚动条的数值。第一个参数是滑动条的名字,第二个参数是滑动条被放置的窗口的名字,第三个参数是滑动条默认值,第四个参数时滑动条的最大值,第五个参数时回调函数,每次滑动都会调用回调函数2.
2022-05-28 22:43:09 1509
原创 也无风雨也无晴
近期一直在上海隔离,除了工作,闲来无事随便看点东西。某天,突然看到苏轼的一首词《定风波》,甚喜。记得21年6月硕士毕业典礼时遇雨,同行皆仓促避雨,我独不觉,甚至觉得这雨下的妙,这雨下的浪漫,心中甚喜。《定风波·莫听穿林打叶声》三月七日,沙湖道中遇雨。雨具先去,同行皆狼狈,余独不觉,已而遂晴,故作此词。莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。料峭春风吹酒醒,微冷,山头斜照却相迎。回首向来萧瑟处,归去,也无风雨也无晴。整首词,最喜欢的一句是"也无风雨也无晴"。也许几
2022-05-24 19:38:21 209
原创 基于 libdmtx和zxing的DM二维码识别总结
基于 libdmtx和zxing的DM二维码识别总结1.基于libdmtx的DM二维码识别1.1 python实现1.2 C++实现2. 基于zxing的DM二维码识别2.1 C++实现1.基于libdmtx的DM二维码识别1.1 python实现python识别DM二维码比较简单,只需要pylibdmtx 库即可,pylibdmtx 库包含了libdmtx的功能,python代码如下。# -*-coding:utf-8 -*-import timeimport cv2from pylibdm
2022-05-19 17:35:34 5896 1
原创 WIN10 C++调用海康工业相机
1.安装海康工业相机套件MVS,需要下载的MVS如下图所示。链接为https://www.hikrobotics.com/cn/machinevision/service/download?module=02.在VS中添加头文件3.在VS中添加库目录4.在VS中添加依赖项5.代码如下#include <stdio.h>#include <conio.h>#include <iostream>#include <string>#include "
2022-05-17 18:00:02 5068 15
原创 实战教程:win10环境下用TensorRT推理YOLOv5
本文章记录在win10环境下用TensorRT推理YOLOv5.例子来源于大佬的项目:https://github.com/wang-xinyu/tensorrtx,但此工程是在ubuntu上开发,在win10上不友好,故特作此贴。win10环境下用TensorRT推理YOLOv51. 项目工程环境2. VS的环境配置3. YOLOV5工程编译问题4.模型转换与推理1. 项目工程环境本文所用的环境如下:WIN 10CUDA 10.2CuDnn 7.6.5TensorRT 7.2.3.4Op
2022-05-05 23:54:41 7364 22
原创 Libtorch的介绍与使用方法
1.libtorch是什么Note that LibTorch is only available for C++.2.libtorch如何下载libtorch的下载链接,如下图所示,libtorch有release和debug版本可以选择。注意:最新版本的pytorch和libtorch(1.11.0)已经不支持windows系统下的CUDA10.2,如下图所示。解决方法:windows下使用CUDA11.3,或者不使用最新版本的pytorch和libtorch,1.10版本是支持windows
2022-04-30 11:35:23 30231 11
原创 python 把代码编译成pyc文件
pyc是一种二进制文件,是由py文件经过编译后,生成的文件。因为py文件是可以直接看到源码的,如果你是开发商业软件的话,不可能把源码也泄漏出去吧?所以就需要编译为pyc后,再发布出去。python提供了内置的类库来实现把py文件编译为pyc文件,这个模块就是py_compile 模块。将单个python文件转为pyc文件 python -m py_compile code.py将一个目录中的python文件转为pyc文件 python -m compileall ./path/编译完成后如果
2022-04-25 23:19:03 7288 2
原创 OpenCV4二维码识别测试
OpenCV4引入了二维码识别,函数为cv::QRCodeDetector,用起来相对简单,本文附c++版本OpenCV二维码识别的程序。实测效果:原图:效果图:识别结果为:123456789OCR#include "opencv2/opencv.hpp" #include <iostream>int main(int argc, char* argv[]){ //读图、预处理 cv::Mat img = cv::imread("1.png"); cv::Mat g
2022-04-20 23:16:09 4326
原创 cmake qmake简单知识
CMake(Cross platform Make)是一个开源的跨平台自动化构建工具, 可以跨平台地生成各式各样的 makefile 或者 project 文件, 支持利用各种编译工具生成可执行程序或链接库。CMake 自己不编译程序, 它相当于用自己的构建脚本 CMakeLists.txt,叫各种编译工具集去生成可执行程序或链接库。一般用于编译程序的 makefile 文件比较复杂,自己去编写比较麻烦, 而利用 CMake ,就可以编写相对简单的 CMakeLists.txt ,由 CMake 根据
2022-03-11 17:31:32 907
原创 图片合成视频
# -*- coding: UTF-8 -*-import globimport osimport cv2import time# 图片合成视频def picvideo(path, size): filelist = os.listdir(path) # 获取该目录下的所有文件名 filelist.sort(key=lambda x: int(x[:-4])) ##文件名按数字排序 ''' fps: 帧率:1秒钟有n张图片写进去[控制一张图片停留5
2022-03-02 11:19:48 260
原创 python ONNXRuntime的使用例子
import onnximport numpy as npimport onnxruntime as rtimport cv2import timemodel_path = './lite_hrnet_30_384x288_coco.onnx'onnx_model = onnx.load(model_path)onnx.checker.check_model(onnx_model)sess = rt.InferenceSession(model_path)# sess.set_prov
2022-02-21 16:03:38 4807
原创 c++ opencv 模板匹配matchTemplate
#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/opencv.hpp>using namespace cv;int main(){ Mat srcImage = imread("XXX.jpg"); //原图 Mat tempImage = imread("xx
2022-02-18 13:50:09 5527
原创 (亲测有效)paddledetection在Jetson上的编译指南
本文档是在NVIDIA Jetson Xavier NX (Jetpack的版本为4.4.1)上部署PaddleDetection的c++推理教程。Jetpack 4.4.1的环境配置为:CUDA 10.2cuDNN 8.8.01. 获取部署代码笔者下载的是2.3版本。下载链接如下:https://github.com/PaddlePaddle/PaddleDetection.git2. 下载paddle_inference预测库,下载链接如下:https://paddleinference.
2022-01-27 13:18:19 3723 2
原创 现在是用AI给工业视觉检测赋能最好的时代
国家统计局发布:2021年全国人口净增加48万人!48万,这个冰冷的数字很难说明问题,可以看这幅图。从下图可以看出,新增人口的确是暴跌! 2021年,65岁人口占比14.2%,比2020年提升了0.7%,中国的老龄化程度进一步加深。净增人口大幅减少和人口老龄化加深,必然带来两个问题:一是劳动力不足,二是养老。今天不谈养老,只谈
2022-01-25 09:53:48 2650
原创 paddlepaddle模型转onnx
1. 先将paddlepaddle训练模型转为推理模型paddlepaddle的训练模型包含.pdparams文件和.pdopt文件,.pdparams文件为模型权重,.pdopt文件存放用于断点训练的参数;利用paddledetection的tools目录中的export_model.py,将paddlepaddle的训练模型转为推理模型。转换后的推理模型如下图所示:2. 安装paddle2onnxpip install paddle2onnx3. 利用paddle2onnx转换模型#
2022-01-19 14:32:17 10588 4
原创 windows上安装TensorRT
提前安装好CUDA和CUDNN,安装方法,本文不再赘述,请自行百度。下载TensorRT,链接如下:https://developer.nvidia.com/nvidia-tensorrt-8x-download下载页面如下图所示:笔者下载的是TensorRT8.2 CUDA 10.2 windows版本下载后的文件如下图所示,显然此版本的TensorRT需要配置CUDA10.2、Cudnn8.2:将该TensorRT文件解压后,如下图所示:核心重点:将 TensorRT-8...
2022-01-19 12:46:21 11102 3
原创 ARM上安装PaddlePaddle
目前paddlepaddle官方是不支持arm架构的,如下图所示。因此,在NVIDIA等边缘计算盒子(如TX2、xavier等)上是无法通过pip install paddlepaddle的方式安装paddlepaddle的。但是,我们可以通过源码编译的方式在ARM架构上安装。最简单的方式就是下载官方提供的编译库,直接安装。下载链接为https://paddleinference.paddlepaddle.org.cn/user_guides/download_lib.html#python如下图所
2022-01-18 13:32:30 4950 6
原创 openvino只支持英特尔6代以上的cpu
注意:openvino只支持英特尔6代以上的cpu例子:Intel core i 8250U。其中,Intel为CPU的生产厂商;core为品牌;i5为系列;8250U中的第一个8代表它为第8代产品;后面的250代表它的性能等级;最后的字母后缀U代表此CPU为降频版。...
2022-01-14 15:53:35 1520
原创 基于mediapipe的人手关键点检测
MediaPipe是谷歌开源的一个算法框架, 集成人脸识别,人体姿态评估和人手检测模型。windows下的MediaPipe安装pip install mediapipe注意:ARM架构不支持python下的mediapipe代码如下:"""手的关键点检测"""import cv2import mediapipe as mpimport timecap = cv2.VideoCapture(0)mpHands = mp.solutions.handshands = mpHan
2022-01-11 13:04:42 1988
Yolact/Yolov5的C++实现,包括ONNX(CPU/CUDA), TensorRT版本。
2022-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人