自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 奥比中光深度相机(二):PyQt5实现打开深度摄像头功能

深度相机的打开方法和可见光相机的打开方法略有不同,可见光相机可以利用OpenCV来直接调用,奥比中光深度相机主要是利用官方给出的SDK源码来调用。本文中,我们借鉴官方源码,将调用深度相机的主要代码提取出来,并和我们自己写的代码结合,实现在PyQt5界面中通过点击按钮打开深度相机。注意我们调用了ui界面设计生成的.py文件,命名为depth_camera.py,并放置到ui_code文件夹中,所以我们这里的调用代码为。我们主要是想将调用奥比中光深度相机的关键部分提取出来,并应用在我们自己的代码中。

2024-03-29 15:13:49 1874 3

原创 奥比中光深度相机(一):环境配置

深度相机可以获取RGB-D数据,不仅可以提取目标的可将光图像,同时还能获得目标距离相机的深度信息。深度相机在测距、三维重建、动物体尺体况分析等多个方面具有广泛的应用潜力。目前,市面上的深度相机包含多个品牌,包括Kinect系列、Intel RealSense系列以及奥比中光系列等,由于奥比中光相机开源了基于python的控制代码,大多深度学习的项目又都是基于python编写的,所以我们选择了奥比中光深度相机Gemini 2L型号。

2024-03-26 14:17:42 2099 8

原创 Python将多个视频帧组合成.mp4视频

OpenCV种的 **cv2.VideoWriter** 类可以将图片序列保存成视频文件,也可以修改视频的各种属性,还可以完成对视频类型的转换。该类种常用的函数包括:构造函数、write 函数等。

2023-11-23 15:37:06 509

原创 YOLOv8-pose关键点检测自制数据集

YOLOv8 已经出来一段时间了,它同时拥有目标检测,实例分割,关键点检测,跟踪和分类的功能,并且效果达到了SOTA,使得 YOLOv8 得到了很多科研人员的青睐。这里我们主要使用了 github 公布的。接下来,我们主要记录一下,如何自己制作关键点检测数据集,并跑通YOLOv8项目。YOLOv8项目中的关键点检测,也就是分支,主要是标注了人体的骨骼部分,来精炼表示人体运动,如下图所示。

2023-08-01 10:52:35 23019 65

原创 Python实现人脸识别功能

为了提高人脸识别的准确性,我们首先要把图像或视频中的人脸检测出来,然后使用分类网络,对检测到的人脸进行分类。在人脸识别部分,我们首先将想要识别的人脸图片存入文件夹,然后计算视频中检测到的人脸与文件夹内人脸的差异,根据阈值判断检测到的人脸是已知的,还是陌生人。下图是该网络的模型结构参数,可以发现该网络结构由简单的若干个卷积层组成,结构简单,运行十分快速,因此适用于在线的人脸识别。,它的模型结构如下图所示,主要由三个级联的简单网络组成。进一步回归和过滤,输出预测的面部边界框和特征点位置。

2023-07-25 21:42:24 2313

原创 python安装opencv出错 PEP 517

我的python版本是3.6的,当需要安装opencv时,使用。开始以为网络的问题,尝试了几次都没有成功。最后使用conda命令安装成功了,测试一下,安装成功。

2023-07-12 11:14:16 2269 1

原创 Python opencv 实现图像平移及旋转

仿射变换是一种仅在二维平面中发生的几何变形,变换之后的图像仍然可以保持直线的 “平直性” 和 “平行性”,也就是说原来的直线变换之后还是直线,平行线变换之后还是平行线。图像平移和图像旋转是常见的放射变换。

2023-04-18 10:24:53 1416 1

原创 Python opencv 先腐蚀后膨胀 消除图像噪声

在进行图像形态学操作时,首先需要构造一个特定的核,该核可以自定义生成,也可以通过函数构造。shape ---- 代表形状类型:代表矩形结构类型,所有元素值都是1:代表十字形结构类型,所有元素值都是1:代表椭圆形结构类型,所有元素都i是1ksize ---- 代表形状元素的大小。

2023-04-17 21:47:40 855

原创 界面开发(5)--- PyQt5实现打开摄像头采集视频功能

在显示视频方面,我们主要的思想就是通过点击“打开摄像头”按钮,来根据我们选择的相机类型,打开相应摄像头,点击”关闭摄像头“,直接就关闭相机。更进一步,我们万一有多个摄像头,比如说笔记本的内置摄像头和外置相机,我们也可以建立一个可选择的。

2023-03-29 00:33:37 11715 23

原创 图像分割 --- 将包含布尔值的分割结果快速替换为像素值

实例分割任务是目标检测任务和语义分割任务的结合,需要同时完成实例级和像素级的预测,既要区分视频中不同的目标个体,又要目标轮廓进行精细分割,是一个复杂且有挑战性的任务。通过实例分割得到的输出结果,包含图像中像素是否属于目标的一个矩阵,该mask是由一个二维的布尔型数组组成,如下所示。此方法可以实现目标,并且速度非常快,经测验在1080*720的数组上,运行速度为0.002s。此方法可以实现目标,但是速度非常慢,经测验在1080*720的数组上,运行速度为0.9s。是反着的,只需使用逻辑非运算符,将。

2023-03-23 11:47:54 446

原创 界面开发(4)--- PyQt5实现打开图像及视频播放功能

上篇文章主要介绍了如何实现登录界面的账号密码注册及登录功能,还简单介绍了有关数据库的连接方法。这篇文章我们介绍一下如何在设计的页面中打开本地的图像,以及实现视频播放功能。

2023-03-10 23:16:48 14902 22

原创 界面开发(3)--- PyQt5用户登录界面连接数据库

上篇文章介绍了如何使用PyQt5制作用户登录界面,这篇文章在此基础上展开,建立简单数据库,实现账号登录、账户注册以及找回密码的功能。

2023-03-02 23:38:01 13027 30

原创 界面开发(2)--- 使用PyQt5制作用户登陆界面

上篇文章已经介绍了如何配置PyQt5环境,这篇文章在此基础上展开,主要记录一下如何使用 PyQt5 制作用户登陆界面,并对一些基础操作进行介绍。

2023-02-28 23:31:33 19578 14

原创 界面开发(1) --- PyQt5环境配置

本文介绍了PyQt5界面开发的环境配置部分。

2023-02-28 17:29:40 5618 3

原创 用Python画圣诞树

用python为您的朋友画上一棵圣诞树吧,情谊长存,永绽光芒~

2023-02-04 21:45:10 4713 1

原创 Mask rcnn代码实现_pytorch版_适用30系列显卡

在 RTX3080 显卡的基础上实现 Pytorch 版本的 mask rcnn代码。

2022-09-23 11:27:37 8722 61

原创 Python绘制loss曲线、准确率曲线

使用 python 绘制网络训练过程中的的 loss 曲线以及准确率变化曲线,这里的主要思想就时先把想要的损失值以及准确率值保存下来,保存到 .txt 文件中,待网络训练结束,我们再拿这存储的数据绘制各种曲线。其大致步骤为:数据读取与存储 - > loss曲线绘制 - > 准确率曲线绘制我们首先要得到训练时的数据,以损失值为例,网络每迭代一次都会产生相应的 loss,那么我们就把每一次的损失值都存储下来,存储到列表,保存到 .txt 文件中。保存的文件如下图所示:上图为部分损失值,根据迭代次数而异,要是迭

2022-07-07 17:28:13 52004 37

原创 loss曲线绘制出错---字符串修改为float型(附代码)

想根据存储下来的损失值绘制损失函数图,现已将损失值以列表得形式存储到 .txt 文件中,这时使用读取出来的数据直接绘图,用到的代码如下所示:然而使用这个数据直接绘图,会出现奇奇怪怪的问题,比如这样:怎么看,怎么不对!这哪是loss曲线图???找了很久问题,原来是读取的数据类型出错,读取到的数据为字符串格式,需要把它转化为数值-- float 型这时候怎么办呢?很简单,一个函数搞定!重新输出loss曲线:日常学习记录,一起交流讨论吧!侵权联系~............

2022-06-28 20:14:23 688

原创 python给图像添加噪声(高斯噪声、椒盐噪声)

方法1、首先我们要用到 skimage 第三方库,安装方法:pip install scikit-image2、代码部分,我们使用数据批处理方式:from PIL import Imagefrom skimage import util, img_as_float, io # 导入所需要的 skimage 库import osold_path = r"E:\relate_code\frame_resize" # 原始文件路径save_path = r"E:\relate_co

2022-05-31 10:49:19 13436 12

原创 Python快速从视频中提取视频帧(多线程)

Python快速提取视频帧(多线程)今天介绍一种从视频中抽取视频帧的方法,由于单线程抽取视频帧速度较慢,因此这里我们增加了多线程的方法。1、抽取视频帧抽取视频帧主要使用了 Opencv 模块。其中:camera = cv2.Videocapture( ) ,函数主要是通过调用笔记本内置摄像头读取视频帧;res, image = camera.read( ) 函数主要是按帧读取视频,返回值 “res” 是布尔型,成功读取返回 True,读取失败返回 False;最后用 cv2.imwrite(

2022-05-23 16:29:06 7259 2

原创 Python更改图像亮度

上篇文章记录了如何修改图像尺寸,这篇记录下如何针对图像的明暗程度进行扩充数据。流程1、首先我们要用到 skimage 第三方库,安装方法:pip install scikit-image2、代码部分,我们依然使用到上篇文章中介绍的数据批处理模式:from PIL import Imagefrom skimage import exposure, img_as_float, ioimport osold_path = r"E:\relate_code\frame_resize" #

2022-05-14 15:42:38 5945 4

原创 Python修改图像尺寸

Python代码修改图像尺寸深度学习任务中,图像数据集的数量往往是非常大的,这时如果要统一修改所有图像的尺寸,需要用代码进行批处理,下面我们详细介绍图像尺寸修改流程。主要使用 python 语言中的 pillow 库,安装代码如下:pip install pillow1、遍历根目录中的所有图像from PIL import Imageimport osfile_path = "The/path/of/your/datasets"raw_files = os.walk(file_path)

2022-05-12 00:02:02 14277 2

原创 RuntimeError: “nll_loss_forward_reduce_cuda_kernel_2d_index“ not implemented for ‘Int‘

Traceback (most recent call last): File "E:/relate_code/Gaitpart-master/main.py", line 149, in <module> train_model() File "E:/relate_code/Gaitpart-master/main.py", line 98, in train_model loss = criterion(outputs, labels) File "C:\Anac

2022-03-27 22:23:59 5736 1

原创 GeForce RTX 3080 with CUDA capability sm_86 is not compatible with the current PyTorch installation.

在win10系统中报错:GeForce RTX 3080 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.主要原因是CUDA和pytorch版本不匹配导致的。pytorch版本过低,这

2022-03-27 21:52:24 2526

原创 寻找两个正序数组的中位数(python)

leecode题目----寻找两个正序数组的中位数给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4

2022-02-22 10:00:35 880

原创 机器学习中SVM、决策树、逻辑回归、K近邻算法python代码实现

机器学习中SVM、决策树、逻辑回归、K近邻算法python代码实现上篇文章咱已经叙述了如何从excel表中读取保存的数据特征及类别标签,这篇文章主要介绍机器学习中常用到的算法python代码实现方式,主要包括SVM、决策树、逻辑回归和K近邻算法。这是上篇文章中我们使用到的数据特征,前六列是特征向量,第七列是数据标签。这篇文章默认已经把数据读出来了(如果不会读取数据的小伙伴可以去看我的上一篇文章)。首先我们观察到x1-x6的特征相差太大,x1的单位是0.000几,而x6的单位较大有1000以上,所以这

2022-02-18 16:01:44 1877 2

原创 Python如何读取Excel表内容

用python读取excel表中的数据假如说有如下一张存储了数据的excel表,其中x1-x6是特征,y_label是特征对应的类别标签。我们想要使用python对以下数据进行数据分析,那么第一步就要先把excel表中的数据读取出来才行。这里我们主要使用到了python中的pandas库。首先确定excel表存放的路径所在,比如我的路径是 ‘E:\relate_code\svm\dataset\data.xlsx’.import pandas as pdfile_path = r'E:\rela

2022-02-18 11:58:48 99746 48

原创 PointFlow: 3D Point Cloud Generation with Continuous ..论文阅读笔记

论文题目:《PointFlow: 3D Point Cloud Generation with Continuous Normalizing Flows》看了这篇论文,对论文进行了一些总结,希望对大家有帮助~这篇论文是ICCV会议上的一篇论文,发表时间是2019年**Idea:**对应于物体的点云被认为是物体表面的分布中的样本,而物体本身被认为是物体形状分布中的样本。提出PointFlow用于三维点云的原则性生成模型。学习分布的分布,前者是形状的分布,后者是给定形状的点的分布。**方法:**不直接对

2021-11-26 18:36:48 2323 2

原创 Ubuntu正确卸载cuda11.0 | 安装cuda10.1、cuDNN

卸载cuda11.0cuda在安装时就已经准备好了卸载的接口。卸载程序在 “/usr/local/cuda-xx.x/bin” 下,需要注意的是cuda10.0及之前的版本卸载程序名为 “uninstall_cuda_xx.x.pl” ,而cuda10.1及之后的版本卸载程序名为 “cuda-uninstaller”。找到之后运行卸载程序即可,这里的 “xx.x” 表示自己的cuda版本。cuda10.0及以下的卸载:cd /usr/local/cuda-xx.x/bin/sudo ./unins

2021-11-25 17:56:36 2637

转载 Python matplotlib画图颜色查询

各颜色对应:cnames = {'aliceblue': '#F0F8FF','antiquewhite': '#FAEBD7','aqua': '#00FFFF','aquamarine': '#7FFFD4','azure': '#F0FFFF','beige': '#F5F5DC','bisque': '#FF

2021-10-29 09:14:51 319

原创 Python多分类问题pr曲线绘制(含代码)

研究了三天的多分类pr曲线问题终于在昨天晚上凌晨一点绘制成功了!!现将所学所感记录一下,一来怕自己会忘可以温故一下,二来希望能给同样有疑惑的铁子们一些启迪!下图为我画的pr曲线,因为准确度超过了97%,所以曲线很饱和。首先了解一下二分类中的pr曲线是怎么画的?“p” 是precition,是查准率,也是我们常用到的准确率。“r” 是recall,是查全率,也叫召回率。​上图为测试结果的混淆矩阵,表示一个数据集上的所有测试结果。其中竖列均为测试结果,即分类器预测概率大于0.5为正类,小于0.

2021-10-26 10:42:06 12954 43

原创 python中矩阵的基本运算方法

这里讲的主要是针对二维矩阵假设存在一个3*3的矩阵:import numpy as npa = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]mat = np.matrix(a)print("得到的矩阵为:\n", mat)得到的矩阵为: [[1 2 3] [4 5 6] [7 8 9]]相关计算方法求每行元素之和:hang = mat.sum(axis=1)求每列元素之和:lie = mat.sum(axis=0)求每行元素的平均值:hang

2021-10-25 10:36:03 487

原创 python任务提交shell后台运行命令

深度学习在xshell上训练网络模型往往会花费非常久的时间,而在shell上提交训练任务后,关闭电脑的话,程序也会随之中断结束,非常受约束。那么怎么才能够让程序在后台运行,电脑随便关机重启呢?在shell中使用以下命令即可:nohup python train.py >log_1.log 2>&1 &运行后会得到一个程序号,例如 “23766” 这种。这样程序就在后台跑起来了,退出程序不能直接关掉shell,要输入 exit 退出账户。本来输出的结果会存储在./log_1

2021-08-09 15:00:06 1444

原创 pytorch中stack()函数和cat()函数的区别

pytorch框架其中stack()函数和cat()函数都是将两个输入组合成一个batch.stack函数二者的区别在于,stack()函数是将两个输入堆叠起来,维度会增加1。import torchx = torch.rand((2,2,3))y = torch.rand((2,2,3))z = torch.stack((x,y),dim=0)这样两个堆叠起来的 z 的维度是(2,2,2,3),相当于在dim=0将二者堆叠起来,第一个数字2就是增加的维度。cat函数而cat()函数是将

2021-07-27 17:52:31 1376

原创 Anaconda退出虚拟环境

Anaconda可以在电脑上创建各种各样的虚拟环境,方便适配不同的项目需求,因此使用起来十分方便、快捷。退出虚拟环境:Linux: source deactivate your_env_name (虚拟环境名称)windows: deactivate your_env_name (虚拟环境名称)查看当前虚拟环境列表:conda info -e创建虚拟环境:conda create -n your_env_name python=3.6(your_env_name为你要创建的虚拟环境名称,

2021-07-16 15:06:11 7841

原创 argparse.ArgumentParser()的使用方法

argparse是python用于解析命令行参数和选项的标准模块。argparse的使用方法可以简化为四步:1、import argparse2、parser = argparse.ArgumentParser()3、parser.add_argument()4、parser.parse_args()首先导入该模块,之后创建一个解析对象,然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数和选项,最后调用parse_args()方法进行解析,解析

2021-07-13 18:31:13 1567

原创 pytorch学习率的调整方法

本文主要基于pytorch深度学习框架,介绍两个常用的调整学习率的方法。一是根据固定epoch次数进行学习率的调整,比如30个epoch过后调整一次学习率参数;二是更加自由地在多少个epoch的时候对学习率进行调整。我们主要是利用torch.optim.lr_scheduler模块进行实现。1、lr_scheduler.StepLR()from torch.optim import lr_schedulerexp_lr_scheduler = lr_scheduler.StepLR(optimiz

2021-07-12 18:39:45 918

原创 Pytorch在加载的模型基础上继续训练

深度学习网络模型的训练往往会花费挺长时间,这时候万一断电了,机器死机了,那真的气不打一处来,想砸机器的冲动有没有?您先别着急,一般咱们的模型都写有模型参数保存功能,比如这样:if epoch%10 == 1: torch.save(model.state_dict(),'{}/moilenetV2_{}_{}.pth.format('./models',epoch,acc))我们只需要找到这个模型保存的位置,然后把最新的这个模型参数加载到我们的model中,就可以接着这个参数进行训练了。要加载的代

2021-07-07 15:15:40 11567 2

原创 利用Shell脚本分步执行多个python程序

Shell是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。而Shell脚本就是多个Shell命令集合在一起存储的文件,一般以.sh结尾。首先在Linux系统中创建.sh文件,以test.sh为例,在命令端输入:touch test.sh然后用vim打开该文件,点i进入文件编辑模式:#!/bin/bashPATH_A='/data/trainval/train_list.txt'PATH_B='/data/trainval/val_list.txt'PATH_C=

2021-07-06 16:21:15 1699

原创 python多线程记录

线程是进程的基本单位。利用多线程进行执行代码,可以加快文件的处理速度,这里主要是利用多线程对若干图片进行裁剪操作。废话不多说,直接上代码!import osfrom PIL import Imageimport timefrom multiprocessing.pool import ThreadPooldef crop_mid(img,output_path,roots): root, name = os.path.split(roots) w,h = img.size .

2021-07-01 18:02:18 147

eval_coco.zip

SSD类算法训练好的权重模型在coco2017/2014数据集上的测试代码,可出测试结果,实测可用。(pytorch版)

2021-07-06

空空如也

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

TA关注的人

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