yolov3识别大分辨率图片切割问题(已解决)

做图像识别的过程,发现yolov3只针对416*416的识别效果较好,而训练大分辨率的图片效果比较差,可以将图像切割训练,再进行操作,以下是大分辨率图片切割的方法

 


# -*- coding:utf-8 -*-


from PIL import Image

'''
   @author:xunalove
    修改文件位置
    修改图片id

'''
def cut(id,vx,vy):
    #打开图片图片1.jpg
    name1 = "D:/python/tire defects/source/xraytire/XrayImages/slidingwindow/"+ id + ".jpg"
   # name2 = "/Users/DSOcmy/PycharmProjects/untitled/test/"+ id +"_cut_"
    name2 = "D:/python/tire defects/source/xraytire/XrayImages/slidingwindow/" + id + "."
    im =Image.open(name1)
    w = im.size[0]
    h = im.size[1]
    print(w, h)
    #偏移量
    dx = 300
    dy = 300
    n = 1

    #左上角切割
    x1 = 0
    y1 = 0
    x2 = vx
    y2 = vy
    #纵向
    while x2 <= h:
        while y2 <= w:
            name3 = name2 + '%06d' % (n) + ".jpg"
            print n, x1, y1, x2, y2
            im2 = im.crop((y1, x1, y2, x2))
            im2.save(name3)
            y1 = y1 + dy
            y2 = y1 + vy
            n = n + 1
        if y2 >= w:
            name3 = name2 + '%06d' % (n) + ".jpg"
            print n, x1, y1, x2, y2
            y1 = w - vy
            y2 = w
            im2 = im.crop((y1, x1, y2, x2))
            im2.save(name3)
            # print n, x1, y1, x2, y2
            n = n + 1
        x1 = x1 + dx
        x2 = x1 + vx
        y1 = 0
        y2 = vy
    x1 = h-vx
    x2 = h
    y1 = 0
    y2 = vy
    while y2 <= w:
        name3 = name2 + '%06d' % (n) + ".jpg"
        print n, x1, y1, x2, y2
        im2 = im.crop((y1, x1, y2, x2))
        im2.save(name3)
        y1 = y1 + dy
        y2 = y1 + vy
        n = n + 1
    if y2 >= w:
        name3 = name2 + '%06d' % (n) + ".jpg"
        print n, x1, y1, x2, y2
        y1 = w - vy
        y2 = w
        im2 = im.crop((y1, x1, y2, x2))
        im2.save(name3)
        n = n + 1

    print "图片切割成功,切割得到的子图片数为"
    return n - 1


if __name__ == "__main__":
    # 取图片id的后两位
    id = "zz89"

    # 切割图片的面积 vx,vy
    # 大
    res = cut(id, 416, 416)

    # 中
    # res = cut(id,120,120)

    # 小
    # res = cut(id,80,80)

    print res

你可能感兴趣的:(图像识别,yolov3)