栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

JPG转为PMG的py小脚本

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JPG转为PMG的py小脚本

         最近用到openmv的图像匹配,必须使用pmg格式。网上有一些自动转换的网站,但是都有各种限制,比较麻烦,然后就自己用python来实现吧

注意pmg必须是灰度图

import os,random
import cv2
'''
源文件夹格式:
/pic
    /class1
        ...jpg
        ...jpg
        ......
    /class2
        ...jpg
        ...jpg
        ......
    /class3
        ...jpg
        ...jpg
        ......

    ........'''
org = '/media/rorschach/新加卷/template_pipei/car_ds_split/train'#父目录
target = '/media/rorschach/新加卷/template_pipei/template/'#目标路径


class_names = os.listdir(org)#所有类名
second_dirs=[]#待转换类别的所有路径:/。。。/classname【n】
pgm_paths = []


for _ in class_names:
    second_dirs.append(org + '/' + _)
    pgm_paths.append(target+_+'_'+'pgm')#数据存储路径 命名可以自己修改
    #两个路径的类名顺序是一致的
#print(second_dir)#所有图片的上一级路径
    
for k in range(len(pgm_paths)):
    pgm_path = pgm_paths[k]
    if not os.path.exists(pgm_path):
        os.mkdir(pgm_path)

    filenames = os.listdir(second_dirs[k])#单一类图片的路径下所有图片的名字

    filenames = random.sample(filenames,5)#随机抽取数量
    print(filenames)
    i = 1
    for filename in filenames:
        ioread = os.path.join(second_dirs[k], filename)
        print(ioread)
        grayImage = cv2.imread(ioread, cv2.IMREAD_GRAYSCALE)
        iowrite = pgm_path + '/%d.pgm' % i

        print(iowrite)
        i += 1
        cv2.imwrite(iowrite, grayImage)

这里我是每类图片抽取了5张作为模板,效果如下

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849359.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号