终于要写完啦,虽然只是简单的复制粘贴,但是,把自己能用的东西放到网上来的感觉还是很棒的~嘿嘿~菜鸟加油
import cv2
import os
'''
做图像处理需要大批量的修改图片尺寸来做训练样本,为此本程序借助opencv来实现大批量的剪切图片。
类似 photoShop 里的动作,批处理文件夹里的图片
'''
def cutimage(dir, suffix):
for root, dirs, files in os.walk(dir):
print(root, dirs, files)
i = 0
for file in files:
filepath = os.path.join(root, file) # 拼合路径
filesuffix = os.path.splitext(filepath)[1][1:]
if filesuffix in suffix: # 遍历找到指定后缀的文件名["jpg",png]等
image = cv2.imread(filepath) # opencv剪切图片,得到三维矩阵数据
#获取截取区域
#cropImg = image[86:627,2:1277]
#cv2.imshow("resize:%s" % filepath, cropImg) #显示图像
#cv2.imwrite("0-common_pics/bank-icon-cut/%s" % file, cropImg) #保存文件
# 缩放至定尺寸w*h
dim = (512, 512)
resized = cv2.resize(image, dim, interpolation=cv2.INTER_AREA)
#这里采用的插值法是INTER_LINEAR
i+=1
cv2.imwrite("D:/DATASET/gan_picture/diary/step3/{}.jpg".format(str(i)), resized)
#保存文件
cv2.waitKey(0) # 退出
suffix = ['jpg']
dir = 'D:/DATASET/gan_picture/diary/step2'
cutimage(dir, suffix)
vc.release()
大佬说我的看的代码像是培训的人用的,我想,大概就是如此吧,毕竟我也是个啥也不会,赶鸭子上架的新手。
这里再次占坑,明天补充上什么是插值法,记得老师也提过,可是我还是不理解。。。。
基本上经过以上预处理,取帧,去黑边,变换图片大小,我的预处理就算做完了,一个完美的数据集就此形成。可以开始着手结构和调参啦吧?