自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (2)
  • 收藏
  • 关注

原创 无监督学习

无监督学习

2023-03-12 18:32:10 244 1

原创 windeployqt的使用方法

2. 输入windeployqt.exe xxx.exe,注意exe是绝对路径。按下enter键,便可以将xxx.exe所依赖的QT文件copy到xxx.exe的同级目录中。3. 举个例子,未执行windeployqt.exe之前如下图所示。

2022-11-20 16:13:57 1719

原创 C++统计程序运行的时间

C++统计程序运行的时间。

2022-11-01 22:30:28 444

原创 C++ 防止头文件被重复编译的方法

c++防止头文件被重复编译的方法

2022-10-29 21:48:23 988

原创 问题解决: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 883

原创 义和利他主义

电影《蒙古王》有这么一幕:札木合为当时最强大的蒙古部落首领之一,札木合的部下自愿脱离札木合,跟随势力弱小的铁木真,其主要原因是铁木真将战胜获得的财物分给这些人,而札木合则自己留下。我能在28岁悟到这个道理,心中生出几分英雄气,未来可期,加油!男人最重要的是责任和担当,不要畏首畏尾,我愿自己永远心怀正气,充满勇气!刘备起兵时27岁,在诸侯混战的年代,直到48岁才有真正的立足之地,期间颠沛流离。2022年10月22日于上海。将来有一天,我创办了一家企业,也要怀“义”和“利他”之心,如此才能成事儿。

2022-10-22 20:30:42 151

原创 Windows 查看 exe 依赖的 dll 的方法

Dependencies 官方仓库 https://github.com/lucasg/Dependencies。链接:https://pan.baidu.com/s/1qHk9XWEIrSLUhM0icl7UuA。

2022-08-19 18:17:16 328

原创 Libtorch教程(五):Libtorch的模型量化

先占个位置就,后面补上。

2022-08-15 13:28:02 427 1

原创 Libtorch教程(四):基于Libtorch分割模型推理

先占个位置,后面补上。

2022-08-15 13:25:50 296

原创 Libtorch教程(三):基于Libtorch检测模型推理

先占个位置,后面补上。

2022-08-15 13:24:53 319

原创 Libtorch教程(二):基于Libtorch分类模型推理

python 将pytorch的模型转为trace模型,这种模型包含既包含模型和权重。c++ libtorch推理代码如下。

2022-08-14 19:42:28 1440 5

原创 Libtorch教程(一):Libtorch的下载与介绍

libtorch解压后如下图所示:最核心的是include和lib这两个文件夹。其实,不管是libtorch,还是别的tensorrt、openvino等模型部署工具,其本质都是给用户提供include和lib去使用。

2022-08-13 17:34:52 2678

原创 C++ OpenCV 计算仿射变换后对应特征点的新坐标

C++ OpenCV 计算仿射变换后对应特征点的新坐标。

2022-08-11 11:46:05 1421

原创 python-opencv 旋转矫正

python-opencv旋转矫正。

2022-07-28 18:10:24 1623 2

原创 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 1286 1

原创 windows c++ 串口通讯

串口通讯c++

2022-06-24 19:15:59 4000 7

原创 halcon 光度立体

halcon 光度立体

2022-06-23 13:26:09 255

原创 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 111

原创 全局快门和卷帘快门的区别

相机的快门模式分为全局快门和卷帘快门两种,快门模式由相机使用的传感器特性决定。支持全局快门的相机,每一行同时开始曝光,同时结束曝光,曝光完成后,数据开始逐行读出。支持卷帘式快门的相机,第一行曝光结束后,立即开始读出数据,数据完全读出后, 下一行开始读出数据。全局快门同时曝光传感器网格中的所有像素,因此最终数字图像的每个像素都是在同一时刻捕获的。这意味着不会发生由于使用卷帘快门而导致的移动物体/场景的图像失真。全局快门传感器通常比卷帘快门传感器尺寸更大、更感光。然而,全局快门传感器更昂贵,且最大帧率可能低于

2022-06-14 16:05:22 5046 1

原创 基于mediapipe的手势数字识别

基于mediapipe识别手势所对应的数字(一、二、三、四、五)。mediapipe的官网总体思路:mediapipe可以识别手掌的关键点,我的思路是识别单根手指是否弯曲,然后根据五根手指的弯曲程度判断手势所对应的数字。那怎么判断单根手指是否弯曲呢?我是根据手指的四个关键点的相对位置。比如识别大拇指的弯曲程度,先计算点4和点3的角度a,再计算点2和点1的角度b,最后计算角度a和角度b的差值的绝对值,如果绝对值小于12度,则认为大拇指是伸直的。其他手指同理。那怎么根据五根手指的弯曲程度判断手势所对应的数

2022-06-03 20:12:51 9156 1

原创 python-OpenCV使用滑动条动态控制参数

用opencv时,你一定遇到过手动调参的场景,是不是很麻烦?我觉得麻烦,用opencv里面自带的滑动条动态控制参数,岂不是很香?1.创建滑动条cv2.createTrackbar('Threshold', 'image', 0, 255, updateThreshold)功能:绑定滑动条和窗口,定义滚动条的数值。第一个参数是滑动条的名字,第二个参数是滑动条被放置的窗口的名字,第三个参数是滑动条默认值,第四个参数时滑动条的最大值,第五个参数时回调函数,每次滑动都会调用回调函数2.

2022-05-28 22:43:09 1309

原创 也无风雨也无晴

近期一直在上海隔离,除了工作,闲来无事随便看点东西。某天,突然看到苏轼的一首词《定风波》,甚喜。记得21年6月硕士毕业典礼时遇雨,同行皆仓促避雨,我独不觉,甚至觉得这雨下的妙,这雨下的浪漫,心中甚喜。《定风波·莫听穿林打叶声》三月七日,沙湖道中遇雨。雨具先去,同行皆狼狈,余独不觉,已而遂晴,故作此词。莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。料峭春风吹酒醒,微冷,山头斜照却相迎。回首向来萧瑟处,归去,也无风雨也无晴。整首词,最喜欢的一句是"也无风雨也无晴"。也许几

2022-05-24 19:38:21 165

原创 基于 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 4947 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 4389 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 6868 21

原创 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 25309 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 6839 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 4191

原创 cmake qmake简单知识

CMake(Cross platform Make)是一个开源的跨平台自动化构建工具, 可以跨平台地生成各式各样的 makefile 或者 project 文件, 支持利用各种编译工具生成可执行程序或链接库。CMake 自己不编译程序, 它相当于用自己的构建脚本 CMakeLists.txt,叫各种编译工具集去生成可执行程序或链接库。一般用于编译程序的 makefile 文件比较复杂,自己去编写比较麻烦, 而利用 CMake ,就可以编写相对简单的 CMakeLists.txt ,由 CMake 根据

2022-03-11 17:31:32 821

原创 图片合成视频

# -*- 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 212

原创 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 4435

原创 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 5429

原创 (亲测有效)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 3593 2

原创 现在是用AI给工业视觉检测赋能最好的时代

       国家统计局发布:2021年全国人口净增加48万人!48万,这个冰冷的数字很难说明问题,可以看这幅图。从下图可以看出,新增人口的确是暴跌!        2021年,65岁人口占比14.2%,比2020年提升了0.7%,中国的老龄化程度进一步加深。净增人口大幅减少和人口老龄化加深,必然带来两个问题:一是劳动力不足,二是养老。今天不谈养老,只谈

2022-01-25 09:53:48 2607

原创 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 10150 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 10879 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 4536 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 1306

原创 基于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 1894

原创 windows下使用cmake生成PaddleDetection的VS工程

1.下载安装cmakecmake下载链接为:https://cmake.org/download/选择windows版本的cmake,安装比较简单,步骤不再详述。2. 下载安装Git在使用 CMake 构建VS项目,需要安装Git,否则会遇到错误提示:could not find git for clone of。Git的下载链接为:https://git-scm.com/download/win3. 设置cmake3.1 设置 CMakeLists.txt目录和cmake输出的目录"w

2022-01-10 20:56:26 591

Yolact/Yolov5的C++实现,包括ONNX(CPU/CUDA), TensorRT版本。

Yolact/Yolov5的C++实现,包括ONNX(CPU/CUDA), TensorRT版本。

2022-08-12

YOLO-PPT.rar

包含YOLOv1、YOLOv2和YOLOv3的讲解PPT,方便课堂讲解。

2021-05-14

空空如也

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

TA关注的人

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