
笔记
Procrastinator^_^
计算机视觉、图像处理、3D视觉、遥感
展开
-
python opencv 深度图批量生成彩色图
立体匹配生成的深度图转为彩色图,这样特征更明显,便于人眼对比出效果。原创 2023-01-06 10:34:32 · 816 阅读 · 1 评论 -
Ubuntu系统装机流程(显卡驱动、cuda、cudnn、搜狗输入法、anaconda、pycharm)
ubuntu系统装机,包含显卡驱动、cuda、cudnn、搜狗输入法、anaconda、pycharm的安装和配置。原创 2022-12-17 16:17:56 · 3549 阅读 · 2 评论 -
python opencv 读取图像中不为0的像素值
使用情况用opencv读取一张图的不为零的像素值,看看到底值是多少。需要注意,一张图可能是单通道的8位图,也可能是24位彩色图,极少见是8位彩色图。需要按照对应的模式去读,不然读出来的值是不一样的。代码import cv2im1 = cv2.imread('/home/5.png', 1) # 1是按三通道读,0是按照单通道读print(im1.shape)m, n, p = im1.shape[0], im1.shape[1], im1.shape[2]for i in range(原创 2021-11-10 18:41:11 · 5800 阅读 · 2 评论 -
docker ubuntu安装
首先用下面的命令更新apt 包的索引:sudo apt-get update把Docker仓库加进到apt里,反斜杠\代表一行,只是换行写更清晰:sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common添加Docker的官方GPG密钥:curl -fsSL https://download.d原创 2021-11-01 09:49:02 · 323 阅读 · 0 评论 -
python 深度学习合并推理出来的txt标签,并生成json
天智杯竞赛格式要求要求以一个json文件,存储所有结果。目前我们推理完是生成很多txt文档,而且是拆图之后的,需要将txt中的标签信息转换为大图的,再合成一个json文件,代码如下:import osimport jsonimport numpy as np'''这个程序是用来合infer推理后生成的txt,因此标签有置信度的分数,同时类别标签在开头'''input_dir_path = '/home/rtx2080ti/GeTu/AllTxt/Result'原创 2021-10-29 21:21:15 · 788 阅读 · 0 评论 -
docker 简单命令 (提交深度学习比赛的程序)
使用情况docker的很多命令都需要权限,如果命令不成功,就前面加上sudo,在尝试一下。首先查看docker 版本sudo docker version之后查看现有的镜像sudo docker info发现有的镜像tag名字为none如下图有些为none,要改一下名字那么需要重新命名,命令也很简单,只要image id是你要改的就可以。sudo docker tag IMAGE ID(你要重命名的image id) REPOSITORY:TAG (你想要起的名字)改完之后结果原创 2021-10-24 15:50:35 · 279 阅读 · 0 评论 -
python 深度学习txt标签合并
使用情况说明深度学习进行目标检测任务的训练,有些图片很大,就要将图片和标签拆分了,扔到网络里训练。出结果进行预测推理的时候也是一样,将大图拆成小图,送到网络里进行预测,会生成txt标注文件,这时的标注文件也是相对与小图的坐标的,要提交结果的时候,需要将小图的坐标转换成大图的坐标。即,需要将txt进行合并,下面是合并txt的程序,可以和拆分txt和图片的文件一起,对照着看。程序import os'''这个程序是用来合infer推理后生成的txt,因此标签有置信度的分数,同时类别标签在开头''原创 2021-10-23 15:29:40 · 525 阅读 · 0 评论 -
deeplabv3+pytorch补充教程
主要参考:https://blog.youkuaiyun.com/qq_39056987/article/details/106455828?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163283720916780265498868%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=16328372091678026549原创 2021-09-28 22:09:41 · 479 阅读 · 0 评论 -
PASCAL VOC2012类型的数据集生成train.txt\val.txt等文件
PASCAL VOC 2012图像分割经常要用的到这个数据集,我是自己做的数据集,但也仿照了PASCAL VOC2012的格式,在数据中,需要把所有图片放在一个文件夹中,mask放在另一个文件夹中,然后train.txt等文件里面有很多文件名,决定了哪些图片用于train,哪些用于val。要生成的txttrain.txtval.txttest.txttrainval.txt(这个是train和val放在一起的)分的思路是从全部文件中,先分出trainval,然后再从trainval中,分出va原创 2021-09-23 11:24:34 · 3673 阅读 · 2 评论 -
python 批量改文件名且jpg改为png
python 改文件名在进行深度学习的时候,需要将训练集中的文件名进行批量的更改,数据量大,肯定不能自己手动更改,于是就需要手动写个脚本。import os 用其中的os.rename命令就可以完成名字的更改,通常我会把文件改为数字名,如果需要改拓展名,做个切片的操作,也可以更改拓展名。图片拓展名的更改(从jpg格式到png格式)但如果是更改图片的拓展名,这里有个问题。我将jpg格式的图片改了名为png格式后,发现只是改了拓展名,在ubuntu中并不能打开这个文件,系统显示,这时的图片仍然不是png原创 2021-08-28 18:38:08 · 954 阅读 · 0 评论 -
python 删除数据集中的负样本
负样本在进行深度学习的过程中,如果图片过大,要进行拆图,将图片拆成小一点尺寸的,同时标注信息也要相应的拆了,那么就可能出现很多张图片,里面其实没有目标,是空的,相应的标注文件也是空的,我定义为这样的数据为负样本下面是一段程序,将负样本从数据中删除,即,只保留正样本,代码如下:如果要删除正样本,只需要将逻辑是改成逻辑非命令即可!代码import osdef delete_empty_txt(out_txt_floder, out_img_floder): txt_list = os.li原创 2021-08-26 11:30:19 · 653 阅读 · 0 评论 -
python txt文件读取和改写
读写txt文件中的字符串在进行一些数据处理的过程中,需要进行txt相关的数据操作。如下图所示,我在进行深度学习训练的时候,一个txt格式的标注文件内容如下:每行有一个标注,第一个字符串是类别,其他八个参数是位置参数,并且用逗号分隔开但这个数据集并不是YOLOv5的格式,因此需要转换一下,将类别放到最后,同时将逗号换成空格。更改完的txt文件如下图所示:只需要使用简单的命令,利用split命令读取一行的数据为字符串即可,注意每行末尾其实有个/n换行符,需要在读写的时候去掉,将所有内容存成字符串原创 2021-08-25 16:01:18 · 2488 阅读 · 0 评论 -
python 随机挑选负样本
python 随机挑选负样本在进行深度学习训练时,第一次训练可以只训练有目标的正样本图像,之后训练,要逐渐加入负样本,调整模型的效果。因此需要从全是负样本的文件中挑选一定数目的负样本,参与训练。第二次进行训练,我选择添加的负样本的数目为正样本的2倍。跟划分数据集是一摸一样的操作,设定好要挑的负样本的数目,程序把文件从一个文件夹自动移到另一个文件夹。当然图片和标注文件都会对应移动好。使用方便,只需要该负样本数目,和对应的几个路径,就能立马使用。代码import osimport randomi原创 2021-08-25 15:35:53 · 884 阅读 · 0 评论 -
python 划分数据集
python 划分数据集深度学习数据集准备工作划分比例的问题代码深度学习数据集在进行深度学习的数据训练之前,总是要先进行 数据集的划分,将数据集划分为训练集、测试集和验证集,即分为train、test和val三个文件夹。在网上看了一些数据集划分的代码,90%是用不了,很多都是只划分了图像文件,根本不划分相应的标注文件,于是自己写了一个简单的脚本,同时将图片和标注都对应划分好。准备工作在进行数据集划分之前,首先先建立好相应的文件夹,分为train、test和val三个文件。每个文件夹中,又包含ima原创 2021-08-25 15:12:17 · 9609 阅读 · 12 评论 -
python读取图片的exif信息
python读取图片的exif信息图片的exif信息exifread第三方库相机的内参矩阵读取图片exif信息的代码图片的exif信息图片信息也是存在元数据的,网上官方称之为exif(exchange image file format),中文意思是交换图像文件格式。每张图片都包含EXIF信息,它是可交换图像文件的缩写,是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。要注意的是有些图片是没有元数据的,比如压缩过的图片,元数据被破坏,无法探测,所以图片一定要是原图。EXIF可以附原创 2021-07-14 11:28:43 · 2651 阅读 · 3 评论 -
python opencv图片畸变校正remap
相机标定后,得到了相机的内外参数,和畸变系数这时,处理每一张图像其实应该进行畸变校正和重映射remap原理是根据相机标定后的参数生成一个_mapx1和_mapy1的索引表,将每张图像x1 y1对照索引表重新映射,其他没映射到的点就差值就行。其实remap就是一个重映射,然后在空隙处差值的函数。下面的程序就是一段remap函数,相机参数都已经写死了,只需更改路径和图片尺寸就行就行,程序简单,直接把一个文件夹的图片都remap了,生成的图片存放在一个自动建的新的文件夹中(自己设定的名字)。注:我这组内参原创 2021-05-26 16:55:38 · 3731 阅读 · 1 评论 -
python图片RGBA转RGB
在图像处理中,常常需要指定位数的图片当图片的位数不对时,仅是更改图片的后缀名,并不能解决问题。需要将图片的色彩空间转换才可以。下面这是一段python的用openCV进行色彩变换的程序,可以实现32位的RGBA转24位的RGB通常RGBA是png的,而RGB是jpg的在openCV中,需注意RGB这几个参数的顺序要对应好,可能你本身的图片是BGR的顺序,如果不对应好,转变位数后,颜色会发生变化。程序如下:import osimport cv2'''png格式常常是32位的RGBA格式,A代表原创 2021-05-25 00:50:25 · 6477 阅读 · 3 评论 -
读取点云数据并显示
读取点云并显示在进行完双目视觉的图象采集后,就会进行立体匹配,进而得到一张深度图。利用RGB彩色和Depth深度图,结合相机的内参,可以将RGB-D图象转换出点云数据。点云数据的读取用下面这几行代码实现。转换点云程序和点云数据也会一起在别的笔记里传上来。用到了open3d库,采用了两种方法,一种一行代码就可以实现,一种可以慢慢调节。代码如下:import open3d as o3dimport numpy as np# 读取点云文件pcd = o3d.io.read_point_cloud(原创 2021-03-23 10:45:10 · 1230 阅读 · 0 评论 -
20201119【笔记】python中调用dll,但未找到的问题
在python中调用dll,但未找到,之前已经在系统环境变量path中进行配置,路径也正确仍然失败。首先是发现缺少头文件,调用dll需要用到ctypes库,安装好库之后,还需在前面import一下。代码如下:import ctypes 然后运行仍然失败,找不到dll,报错结果如下图:可以看到确实是没找到dll模块,怀疑是因为路径中含有中文的原因,虽然已经是utf8,但可能存在解码的问题。这里看了这位作者得文章:https://blog.youkuaiyun.com/fangkailove/artic原创 2020-11-19 11:13:32 · 3541 阅读 · 0 评论 -
20201024椭圆检测EDCircles学习笔记
论文:《EDCircles: A real-time circle detector with a false detection control 》(2013)开源代码:github开源代码https://github.com/CihanTopal/ED_Lib库:OpenCV3.4.1一、实时边缘/边缘检测器(ED)1.输入灰度图,通过通过诸如非最大抑制、滞后阈值化、侵蚀等操作来消除非边缘像素来工作。2.识别图像中的一组锚点。3.输出二进制边缘图,还输出一组边缘线段,每个边缘线段是一个原创 2020-10-24 16:02:57 · 2285 阅读 · 0 评论 -
20200821【笔记】3D视觉介绍
3D视觉就是现在比较热门的概念,其实就是深度相机获得图像的深度信息。应用场景还是和以前一样多,今天补充一种激光三角测量方法,这一方法在论文中也经常出现,但是经常和结构光技术混为一谈,其实还是有所区分的。几种获得深度信息的方法(3D视觉分类)比较如下图:激光三角测量法:它基于光学三角原理,根据光源、物体和检测器三者之间的几何成像关系,来确定空间物体各点的三维坐标 。原理图如下:通常用激光作为光源,用CCD相机作为检测器。具有结构光3D视觉的优点,精准、快速、成本低。不过由于根据三角原理计算,被测原创 2020-08-21 23:29:48 · 1324 阅读 · 0 评论