![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
一名CV界的小学生
这个作者很懒,什么都没留下…
展开
-
打印网络名称以及相应shape
【代码】打印网络名称以及相应shape。原创 2023-07-21 15:04:09 · 68 阅读 · 0 评论 -
python 保存json
简单的代码测试原创 2022-06-16 13:15:09 · 2676 阅读 · 0 评论 -
yoloV4模型转onnx
def pth2onnx(cfgDir,pthDir,imgSize): model=Darknet(cfgDir,imgSize) checkpoint = torch.load(pthDir) print(model) model.load_state_dict(checkpoint['model']) model.eval() dummy_input = torch.randn(1, 3, 416, 416) input_names = ["i.原创 2022-01-25 19:58:14 · 2554 阅读 · 0 评论 -
Skimage:img_as_float
参考:skimage_Scikit image_参考手册_非常教程Python skimage.img_as_float方法代码示例 - 纯净天空 相应的例程代码原创 2022-01-04 15:16:26 · 3700 阅读 · 0 评论 -
离线数据增强
def imgAug(imgDir,dstImg): params = [0.5, 0.6, 0.7, 0.8, 0.9, 1.1, 1.2, 1.3, 1.4, 1.5] gaussParams=[3,5] imgNames=[img for img in os.listdir(imgDir)] for name in imgNames: img = Image.open(os.path.join(imgDir,name)) brightE.原创 2021-12-28 17:37:22 · 1603 阅读 · 0 评论 -
离线数据增强 PIL
使用一幅图像可得到600到900张图像def imgAug(imgDir,name,dstImg): params = [0.5, 0.6, 0.7, 0.8, 0.9, 1.1, 1.2, 1.3, 1.4, 1.5] img = Image.open(os.path.join(imgDir,name)) brightEnhance = ImageEnhance.Brightness(img) contrastEnhance = ImageEnhance.Contr.原创 2021-12-24 15:13:33 · 1545 阅读 · 0 评论 -
python:图像重命名
def ImgRename(rootDir): for root,dirs,files in os.walk(rootDir): for dir in dirs: subDir=os.path.join(root,dir) names=[name for name in os.listdir(subDir)] for i, name in enumerate(names): ra.原创 2021-12-20 10:57:05 · 951 阅读 · 0 评论 -
python:datetime格式化输出
from datetime import datetimetimeStamp=datetime.now().strftime("%Y-%m-%d %H:%M:%S")print(timeStamp)# 2021-12-18 15:11:14参考:Python datetime 格式化字符串:strftime() - 时间&煮雨~ - 博客园原创 2021-12-18 15:17:34 · 4089 阅读 · 0 评论 -
pytorch API:随机裁剪
def imgAugTest(imgDir): img=Image.open(imgDir) print('the size of raw img:{}'.format(img.size)) cropImg=transforms.RandomResizedCrop(224)(img) print('the size of new img {}'.format(cropImg.size)) cropImg01=transforms.RandomResizedCrop(.原创 2021-12-17 15:46:04 · 1025 阅读 · 0 评论 -
Pytorch API:学习率调整
def StepLRTest(): model=AlexNet(num_classes=2) optimizer=optim.SGD(params=model.parameters(),lr=0.01) scheduler=lr_scheduler.MultiStepLR(optimizer,milestones=[5,20,40,80],gamma=0.1) plt.figure() x=list(range(100)) y=[] for ep.原创 2021-12-13 16:32:38 · 1394 阅读 · 0 评论 -
借助PIL库实现图像旋转
def imgRotate(imgDir): img=Image.open(imgDir) img90=img.transpose(Image.ROTATE_90) img180=img.transpose(Image.ROTATE_180) img270=img.transpose(Image.ROTATE_270) img180.save('img1.jpg') plt.figure(figsize=(10,10)) plt.suptitle('.原创 2021-12-10 17:54:38 · 2978 阅读 · 0 评论 -
opencv:SIFT 校正
def SIFT(inpic,template): sift = cv2.xfeatures2d.SIFT_create() grayPic=cv2.cvtColor(inpic,cv2.COLOR_BGR2GRAY) img1 = grayPic[100:1000,:] img2 = template[100:1000,:] kp1, des1 = sift.detectAndCompute(img1,None) kp2, des2 = sift.dete.原创 2021-12-07 15:19:54 · 460 阅读 · 1 评论 -
opencv:图像直方图均衡化
def calcGrayHist(image): rows,cols=image.shape grayHist=np.zeros([256],np.uint64) for r in range(rows): for c in range(cols): grayHist[image[r][c]]+=1 return grayHistdef equalHist(imgDir): imgGray=cv2.imread(img.原创 2021-12-02 22:59:48 · 2200 阅读 · 0 评论 -
opencv:gamma变换
gamma变换是对图像像素值归一化到[0,1]后,对像素值进行幂运算。def gammaTransform(imgDir): imgGray=cv2.imread(imgDir,cv2.IMREAD_GRAYSCALE) cv2.imshow("raw",imgGray) imgGrayNorm=imgGray/255 gamma=2 dst=np.power(imgGrayNorm,gamma) cv2.imshow("test",dst)原创 2021-12-02 21:43:14 · 1905 阅读 · 0 评论 -
opencv:图像归一化
def histNorm(imgDir): imgGray=cv2.imread(imgDir,cv2.IMREAD_GRAYSCALE) cv2.imshow("raw",imgGray) maxPixelsValue=np.max(imgGray) minPixelsValue=np.min(imgGray) outMin, outMax=0,255 a=float(outMax-outMin)/(maxPixelsValue-minPixelsV.原创 2021-12-02 21:32:37 · 3666 阅读 · 0 评论 -
opencv:线性变换
def linearTrans(imgDir): imgGray=cv2.imread(imgDir,cv2.IMREAD_GRAYSCALE) cv2.imshow("raw",imgGray) a=0.2 dst=float(2)*imgGray dst[dst>25]=255 # 将数组dst中大于25的值均设置为255 dst=np.round(dst) dst=dst.astype(np.uint8) #成员函数astype的作用改.原创 2021-12-02 21:39:51 · 2715 阅读 · 0 评论 -
opencv:计算直方图
def calcGrayHist(image): rows,cols=image.shape grayHist=np.zeros([256],np.uint64) for r in range(rows): for c in range(cols): grayHist[image[r][c]]+=1 return grayHistdef showHist(imgDir): img=cv2.imread(imgDir).原创 2021-12-02 20:55:22 · 186 阅读 · 0 评论 -
opencv:仿射变换
opencv API :cv2.warpAffinedef warpAffineTest(imgDir): img=cv2.imread(imgDir,cv2.IMREAD_GRAYSCALE) h,w=img.shape[:2] A1=np.array([[0.5,0,0],[0,0.5,0]],np.float32)# 缩小2倍 d1=cv2.warpAffine(img,A1,(h,w),borderValue=125) cv2.imshow(".原创 2021-11-30 22:02:11 · 907 阅读 · 0 评论 -
PYTHON:离线数据扩增
从网上找的一个数据扩增方式,出处不记得了。# -*- coding:utf-8 -*-"""数据增强 1. 翻转变换 flip 2. 随机修剪 random crop 3. 色彩抖动 color jittering 4. 平移变换 shift 5. 尺度变换 scale 6. 对比度变换 contrast 7. 噪声扰动 noise 8. 旋转变换/反射变换 Rotation/reflection"""from PIL import Image原创 2021-11-15 11:34:40 · 414 阅读 · 0 评论 -
PYTHON:调用FFMPEG
import subprocessimport os#ffmpeg -i /data/video_1.mp4 -f image2 -vf fps=fps=1/60 -qscale:v 2 /data/mp4-%05d.jpgdef videoFileName(videoDir,framesDir,ffmpegCmd): videoFiles=os.listdir(videoDir) for video in videoFiles: sinVideoDir=os..原创 2021-11-15 11:31:28 · 1410 阅读 · 0 评论 -
PYTHON:由标签文件生成训练集,测试集图像列表以及量化图像列表
import osimport randomdef trainTestGen(mainDir,val_percent): image_labels = [f for f in os.listdir(os.path.join(mainDir,'labels'))] # 存放labels的路径 train_file = open(mainDir + '/train.txt', 'w') val_file = open(mainDir + '/val.txt', 'w') .原创 2021-11-05 10:47:49 · 329 阅读 · 0 评论 -
PYTHON:将图像缩放至固定尺寸,并生成相应的路径列表
import cv2 as cvimport osdef resize_img(src_dir, dst_dir, imgList416, img_size): ''' :param src_dir: train.txt dir :param dst_dir: 416*416 img save dir :param imgList416: 416*416 img list txt file :param img_size: img scale :re.原创 2021-11-05 10:11:18 · 503 阅读 · 0 评论 -
YOLO:labelImg标注的xml转成yolo格式
代码备忘:# -*- coding: utf-8 -*-import xml.etree.ElementTree as ETimport osfrom os import listdirfrom os.path import joinimport randomclasses = ["person"] # 自己数据集有哪些类别写哪些类,按照顺序mainDir=r'/home/.../extra/personDataset'def convert(size, box): dw原创 2021-10-26 17:20:31 · 778 阅读 · 0 评论 -
图像处理:随机擦除某区域
import cv2import mathimport randomdef randomErasing(imgDir, sl=0.02, sh=0.4, r1=0.3, mean=(0.4914, 0.4822, 0.4465)): img = cv2.imread(imgDir) area = img.shape[0] * img.shape[1] target_area = random.uniform(sl, sh) * area aspect_ratio.原创 2021-08-30 17:20:22 · 1377 阅读 · 2 评论 -
ubuntu16.04 安装pycharm
在路径下/usr/share/applications 创建文件 pycharm.desktop可执行命令:sudo gedit /usr/share/applications/pycharm.desktop编辑内容如下:[Desktop Entry]Version=1.0Type=ApplicationName=PycharmIcon=/home/.../extra/downloads/pycharm-community-2020.1.3/bin/pycharm.pngExec原创 2021-08-26 14:08:01 · 200 阅读 · 0 评论 -
python: 视频中选择感兴趣区域
介绍:LoadVideo的类是在阅读fairMOT源码时看到的一种视频读取方式,感觉很精巧。做一个代码的记录。同时也是对这种视频读取方式的备忘。该处理方式也是python语法的一种进阶。import cv2import numpy as npimport sysclass LoadVideo: def __init__(self, path, img_size=(1088, 608)): self.cap = cv2.VideoCapture(pa...原创 2021-08-06 11:31:46 · 492 阅读 · 0 评论