自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 1. 验证集 -- 批量测试和可视化 2. 测试集 -- 批量测试和可视化

1.对测试集合统一处理(尺寸、位深等)import osimport globimport os.pathfrom PIL import Imagefrom PIL import ImageFile #批量修改尺寸2048*1024(此时也可能32位)ImageFile.LOAD_TRUNCATED_IMAGES = Truepath = "G:\\000\\image_ground150"files = os.listdir(path) #会按顺序排列1,

2021-09-07 13:40:02 1022 1

原创 2021-08-31 openCV批量读取把 path0 里面的与 path 同名文件(.jpg)提取出来,然后生成.png放进 path1 路径里面

1.在test2中提取和test5同名的文件图片(.jpg),然后生成.png放进test0文件夹里面import osfrom tqdm import tqdmimport cv2import numpy as npfrom PIL import Imagepath = "G:\\test5\\"files = os.listdir(path) # 返回指定的文件夹包含的文件或文件夹的名字的列表# files.sort() #按顺序读取图片files.sort(key = lamb

2021-08-31 18:18:35 372 1

原创 20210810 所有图像数据准备一条龙(labelme_json转mask、数据增强Augmentor、随机种子设比例生成train.val、转格式(.jpg转.png)、尺寸、位深度变换

1.批量排列1.2.3.4 统一成.png格式import osfiles = os.listdir("1") #会按顺序排列1,2,3,4,……i=0for file in files: original = "1" + os.sep+ files[i] new = "1" + os.sep + str(i+1) + ".png" os.rename(original,new) i+=12.批量修改尺寸from PIL import Imag

2021-08-10 19:42:09 851

原创 2021-08-04 jpg和png批量转化8位到24位,相互转化!

1.批量转化从8位到24位深度,jpg和png都能一起批量转化import osimport numpy as npimport PILfrom PIL import Imageimport cv2path = "G:/laji/666/" #需要转化的文件夹路径,jpg和png都能一起批量转化(8转24)for root, dirs, files in os.walk(path): for name in files: print("files:",os.path.

2021-08-04 19:56:34 2477 4

原创 好用的数据增强工具Augmentor(原图和mask扩充)

1.原图和mask扩充增强# 导入数据增强工具import Augmentor# 确定原始图像存储路径以及掩码文件存储路径p = Augmentor.Pipeline("image200") # 原图和mask的标签要一一对应!!扩充后的图都在原图里面新生成output的文件夹!p.ground_truth("mask200") #标签图mask# 图像旋转: 按照概率0.8执行,最大左旋角度10,最大右旋角度10p.rotate(probability=0.8, max_left_rot

2021-08-02 17:20:10 2686 7

原创 2021-08-02 json文件批量转化mask,生成train.txt路径make_path.py

一. json文件批量转化mask1.编写一个同文件路径下的.bat文件for %%m in (G:\730json\mei\1\*.json) do ( # 对文件1下面的json文件(路径)进行转化python G:\labelme_json.py %%m # 执行python转化文件(路径))2.labelme_json.pyimport cv2import numpy as npimport jsonimport sysdef main(argv): cate

2021-08-02 10:07:27 802

原创 2021-07-30 自己垃圾场景数据集训练Bisenet网络

在已经训练好的模型 - 欲训练模型(cityscape)上333model_final.pth 3分类进行微调!保存成33model_final.pth(./res)1. 修改路径train.txtleftImg8bit/train/laji/1.png,gtFine/train/laji/mask1.pngleftImg8bit/train/laji/2.png,gtFine/train/laji/mask2.pngleftImg8bit/train/laji/3.png,gtFine/trai

2021-07-30 15:40:25 694

原创 2021-07-27 对labelme标注出来的JSON文件进行灰度图转化(标签值0.1.2.3.4)

对labelme标注出来的JSON文件进行灰度图转化(标签值0.1.2.3.4)原图如下:标注后生成json文件如下:import cv2import numpy as npimport jsoncategory_types = ["unlabeled","road","sidewalk","vegetation","terrain"]img = cv2.imread("G:/777/5.png")h, w = img.shape[:2]mask = np.zeros([h, w

2021-07-27 21:58:24 1147

原创 python批量jpg转png(顺序排列1.2.3……)、修改文件夹尺寸

1.python批量修改文件夹尺寸2048*1024from PIL import Imageimport os.pathimport globdef Resize(file, outdir, width, height): imgFile = Image.open(file) try: newImage = imgFile.resize((width, height), Image.BILINEAR) newImage.save(os.path

2021-07-27 16:50:36 1060

原创 旋转图像操作(90°、180°、270°)+ jpg 和png相互转换、resize尺寸大小 + padding 补黑边-长方形保持长宽比

import osimport cv2# h,w 先后不要写错,不然图片会变形fixed_size = 512 # 输出正方形图片的尺寸if h >= w:= 0:new_w -= 1# array_file = np.pad(array_file, ((0, 0), (pad_w, fixed_size-pad_w)), 'constant') #实现黑白图缩放value=(0, 0, 0)) # 255是白色,0是黑色else:= 0:new_h -= 1。

2023-09-18 10:21:42 689

原创 [yolox优化] 提升ap

去掉马赛克之后,就什么数据增强都没有了,需要增加尺度变换YOLOX-main/yolox/data/data_augment.py 增加一个函数 #163行+=choice18090090902uniform1.eye302<=0.1YOLOX-main/yolox/data/datasets/mosaicdetection.py 中加入from头文件。

2023-04-03 15:55:20 395 1

原创 根据txt批量找出文件夹里面的图片python

根据txt批量找出文件夹里面的图片pythonimport refrom PIL import Imageimport numpy as npimport osdata = []path1 = r'G:\pachong\TEST_0526\2.txt' # txt文件路径path_img1 = r'G:\pachong\TEST_0526\2' # 原图像文件路径path_img2 = r'G:\pachong\TEST_0526\222' # 保存图像新路径with open

2022-05-26 14:38:10 1574

原创 【YOLOX】 相关问题总结

1.YOLOX无法指定gpu,只能指定gpu个数YOLOX-main/yolox/utils/dist.py在此路径下注释和添加代码:def get_local_rank() -> int: ###############ori """ Returns: The rank of the current process within the local (per-machine) process group. """ if not dist.

2022-05-17 16:30:21 909

原创 【Yolox】修正标签类别

上面这个标签有时候更改会出现一些问题,按照下面这个来。

2022-05-16 09:14:55 685

原创 垃圾分类优化结果测试,比对相似度

1.先把原来的mask标注图片从val.txt里面抽取出来import syssys.path.append("..")sys.path.insert(0, '.')import torchimport torch.nn as nnfrom PIL import Imageimport numpy as npimport os #要导入ostorch.set_grad_enabled(False)np.random.seed(123)val_path = "F:\\1207garb

2022-05-09 16:40:47 1067

原创 【Image segmentation】图像分割 数据增强(mosaic\copy_paste)

1.图像增强copy_paste:输入原图JPEGImages+对应掩码图SegmentationClass可以提前可视化一下,看是否有问题(可能出在图像标注的时候出现别的未知类别)import matplotlib.pyplot as pltfrom matplotlib import gridspecimport numpy as npimport cv2import osimport warningswarnings.filterwarnings("ignore")import

2022-05-06 11:42:42 2935 4

原创 【data processing】数据爬虫、清洗、合并图片文件夹、裁剪、去除小图和下载错误图像、重命名、去除重复图片等处理

1.爬取指定关键字图片'''爬取指定关键字图片'''import re # 正则表达式,解析网页import requests # 请求网页import tracebackimport osdef dowmloadPic(html, keyword, startNum): headers = {'user-agent': 'Mozilla/5.0'} # 浏览器伪装,因为有的网站会反爬虫,通过该headers可以伪装成浏览器访问,否则user-agent中的代理信息为pyt

2022-04-25 16:42:20 666

原创 计算两幅图像的相似度大小(可以设置阈值进行比对)

from PIL import Imageimport timedef pixel_equal(image1, image2, x, y): """ 判断两个像素是否相同 :param image1: 图片1 :param image2: 图片2 :param x: 位置x :param y: 位置y :return: 像素是否相同 """ # 取两个图片像素点 piex1 = image1.load()[x, y]

2022-04-15 10:09:20 1542

原创 1.每日一记

1.深度学习中,偏置(bias)在什么情况下可以要,可以不要?卷积之后,如果接BN操作,就不要设置偏置,因为不起作用还要占显卡内存。所以,卷积之后,如果接BN操作,就不要设置偏置,因为不起作用还要占显卡内存。...

2022-03-29 14:09:18 1423 2

原创 生成Yolox检测负样本-对应空文件夹txt、批量文件重命名、批量转化三通道去除小图

1.生成Yolox检测负样本-对应空文件夹txtimport os.pathimport cv2from tqdm import tqdmpath = r"G:\pachong\fuyangben_img" #负样本图片文件夹save_path=r"G:\pachong\fuyangben_txt" #生成空的txt文件夹files = os.listdir(path)print(files)for pic in tqdm(files): # # basename = os.pa

2022-03-25 14:30:32 892

原创 pytorch模型转onnx-量化rknn(bisenet)

1.pytorch模型转化onnx先把pytorch的.pth模型转成onnx,例如我这个是用Bisenet转的import argparseimport os.path as ospimport syssys.path.insert(0, '.')import torchfrom lib.models import model_factoryfrom configs import set_cfg_from_filetorch.set_grad_enabled(False)pa

2022-01-26 11:12:02 9284 6

原创 随机挑选分类训练集和测试集

# -*- coding: utf-8 -*-import osimport randomimport shutilfrom shutil import copy2from tqdm import tqdm# category = ['可回收垃圾', '有害垃圾', '厨余垃圾', '其他垃圾']category = ['0','1','2','3','4','5','6','7','8','9']# 要保存的根目录saveTrainPATH = 'F:/1213bag/111/

2022-01-12 11:02:28 497

原创 2021-12-09把文件夹1中的与文件夹2里同名图片删除或者保存至另一个文件夹

如果文件夹1(大)的里面包含了与文件夹2(小)的同名图片:# !/usr/bin/env python# encoding: utf-8import osimport globfrom PIL import Image#指定找到文件后,另存为的文件夹路径outDir = os.path.abspath('G:/2.pe666/yibiaozhu')#指定第一个文件夹的位置imageDir1 = os.path.abspath('G:/2.pe666/image') #文件夾1 大

2021-12-09 10:58:23 791

原创 【2021-12-06】爬取关键词图片 - 去掉重复图片

'''爬取指定关键字图片'''import re # 正则表达式,解析网页import requests # 请求网页import tracebackimport osdef dowmloadPic(html, keyword, startNum): headers = {'user-agent': 'Mozilla/5.0'} # 浏览器伪装,因为有的网站会反爬虫,通过该headers可以伪装成浏览器访问,否则user-agent中的代理信息为python pic_

2021-12-06 17:27:33 839

原创 2021-11-10 YOLOX训练最新笔记总结(coco格式)

1. 数据准备如下图所示,训练图片images的格式尺寸可以不等:标签label(.txt)一个文件对应一个txt文件:labellmg 标注可以直接导出 .txt文件 一一对应的格式,如图:上图换了个任务标签,细节不要在意,意思到就行~如果是labelme生成的Json文件,like this:json转化一下txt:import jsonimport osname2id = {'advertisement': 0} # 此处为类别id# name2id = {'per

2021-11-04 17:16:24 2132 7

原创 yolox解析

此处的是在测试集上进行性能评估和统计用VOC格式训练数据集时:其中B是不同尺度的格子划分,进行特征提取,多尺度融合:利于小目标检测最后15个epoches时候,关闭了数据增强中的马赛克和混合两种,让其接近真实场景进行训练用轻量级模型时,过多用数据增强反而会降低模型性能,所以要合理进行...

2021-10-28 13:38:37 288

原创 2021-10-14 yolov5踩坑!!!经验大赏

1. 服务器版本的问题报错记录error:‘Hardswish‘ object has no attribute ‘inplace‘本地Pycharm很快就调好了,直接修改,但是服务器的模型内置文件搞了半天1.分别把 torch 版本降到 1.6.0 、torchvision 版本降到 0.7.0,执行检测,成功~2.直接改源代码,我用的是这种改torch的activation.py文件,改完确实有效,记录一下。根据报错提示的路径,编辑/torch/nn/modules/activation.

2021-10-14 11:14:46 398

原创 #@python常见的代码自己编写问题

1.python获取路径中最后一个文件夹名 #coding=utf-8 import os #情况一:全路径中获取最后一个文件夹的名字 path1="D:/data/Beijing/Beijing_road.shp" a=os.path.dirname(path1)#先获取文件路径 print(a) b = os.path.basename(a)#从文件路径中读取最后一个文件夹的名字 print(b) #情况二:文件路径中直接获取最后一个文件夹名 path2="D:/data/Be

2021-10-12 10:32:47 103

原创 2021-09-23对图像深入研究

一、研究黑白图像1.位图模式(黑白图像)仅仅只有一位深度的图像 -》(0,1,1,1,……)此处0表示全黑 1表示全白2.灰度图像 [0,255]有8位深度的图像(0,0,0,0,0,0,0,0,0)-》20 = 1 ->(纯黑色)(1,1,1,1,1,1,1,1,1)-》28 = 256 ->(纯白色)3.彩色图像(三个通道)彩色三原色:三通道(RGB)一共三个通道 ,每个通道8个深度。#读取图片:import cv2import numpy as nppath =

2021-09-23 18:41:56 652

原创 1.666把分割后的区域(路面积水)框出来

import syssys.path.append("..")sys.path.insert(0, '.')import argparseimport torchimport torch.nn as nnfrom PIL import Imageimport numpy as npimport cv2import timeimport imutilsimport lib.transform_cv2 as Tfrom lib.models import model_factoryf

2021-09-22 18:45:38 511

原创 python之查看图像位深度,以及改变图像位深度

1.codefrom PIL import Imageimg = Image.open('D:\\image_for_test\\Spee.jpg')print(img.getbands())输出:('R', 'G', 'B')1:1位像素,表示黑和白,但是存储的时候每个像素存储为8bit。二值化图L:8位像素,表示黑和白。 灰度图P:8位像素,使用调色板映射到其他模式。RGB:3x8位像素,为真彩色。RGBA:4x8位像素,有透明通道的真彩色。CMYK:4x8位像素,颜色分离。

2021-09-02 14:40:26 2740

原创 【基本常识1】图像处理opencv

1.opencv基本操作import cv2path = "G:/test2/1.jpg"# path代表路径,0表示灰度图,1表示彩色图img = cv2.imread(path,1) # 路径放在里面读取#读进来什么形式<class 'numpy.ndarray'>print(type(img))# 读取图片的存储形式[H-W][高-宽]print(img.shape)#存储类型img1 =cv2.imread("G:/test2/3.jpg",1)pri

2021-08-30 20:39:39 161

原创 2021-08-27 分割之后mask在原图中提取出来(语义分割—实例分割)

原图和mask如下:生成如图:如图:生成图像:上面这种出来是透明背景32位的,并不是白色!!!!另一种出来版本是黑色背景:出图如下:如果加上背景的话:(像素黑的就是0,随便附加颜色)1.opencv抠图 (扣出背景是黑色,24位)效果:原图:24位mask:24位opencv扣出效果:背景是黑色的,24位2.pillow抠图 (扣出背景是黑色,24位)原图24位——mask24位-——抠图24位3.提取白色背景的抠图效果展示:原图24位——mask24位——抠图2

2021-08-27 18:44:26 23762 18

原创 常用的深度学习的linux代码(1.实时监测GPU情况2.当前正常使用的GPU情况3.杀掉特定某个进程4.杀掉特定某个进程)

1.实时监测GPU情况watch -n 1 nvidia-smi2.当前正常使用的GPU情况nvidia-smi3.查看进程ps -ef杀掉特定某个进程kill -9 PID 4.linux tar压缩文件夹排除制定某个文件夹(排除掉了city+bisenet下的datasets、1、6):tar -zcvf 0825.tar.gz --exclude=yellow_line+bisenet/datasets --exclude=yellow_line+bisenet/6 --ex

2021-08-25 13:41:30 136

原创 2021-08-21 将文件夹里面的图片(无格式限制)导入进.txt里面

import ospath1 = r'/home/jovyan/BiSeNet-master/datasets/cityscapes/leftImg8bit_trainvaltest/leftImg8bit/train'file1 = open(r'/home/jovyan/BiSeNet-master/datasets/cityscapes/leftImg8bit_trainvaltest/leftImg8bit/train.txt', 'w+')for root, dirs, files in

2021-08-13 14:28:18 602

原创 Python的学习过程中not enough values to unpack (expected 2, got 1)解决方案

(role,line_spoken) = each_line.split(':',1) #以问号分隔,1代表分割ValueError: not enough values to unpack (expected 2, got 1)发生报错:not enough values to unpack (expected 2, got 1)出错原因及解决方案:1.中英文符号混淆报错。出现这一条报错命令,很可能是由于split命令中的冒号打错,中文的冒号形如:,而英文的是:,还是有很大的差别的。 》》查

2021-08-10 13:48:53 2091

原创 2021-08-09 图像灰度二值化

from PIL import Imageimport matplotlib.pyplot as pltimport numpy as np# 获取图片def getimg(): return Image.open("D:/patient/9/image/1.jpg")# 显示图片def showimg(img, isgray=False): plt.axis("off") if isgray == True: plt.imshow(img,

2021-08-09 15:01:51 114

原创 2021-07-29 labelme注释、分类和Json文件转化(转化成彩图mask)

label_name_to_value = {'_background_': 0} #把这一段注释掉for shape in sorted(data['shapes'], key=lambda x: x['label']): label_name = shape['label'] if label_name in label_name_to_value: label_value = label_name_to_value[label_name]

2021-07-29 18:41:20 527

原创 labelme3.16.5 标注工具的安装与下载

1. 然后在Anaconda prompt里依次输入如下指令:conda create --name=labelme python=3.8 #(创建的环境的python版本)activate labelme # 先激活环境再进入conda install pyqtpip install labelme==3.16.5下次启动的时候先启动labelme的conda环境,即按照以下步骤启动,跟tensorflow一样,先激活环境再进入。activate labelmelabelme启动后

2021-07-27 19:14:32 1411 1

原创 2021-07-27查看图像像素值类别

看图片的像素值,在语义分割标签时候数据集会用到。import numpy as npfrom PIL import Imageimg = Image.open("mask1.png") #图像所在位置img = np.array(img)np.unique(img)像上面这张灰度图由于像素值太低,人眼看不见,所以就用上述代码可以看出像素值分布情况(0,1,2):...

2021-07-27 18:53:54 413

空空如也

空空如也

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

TA关注的人

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