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

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值