JPG转为PMG的py小脚本

JPG转为PMG的py小脚本,第1张

         最近用到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张作为模板,效果如下

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/793924.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存