yolov 3大解像度ピクチャカットの問題を認識(解決済み)
画像認識の過程をして、yolov 3は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