卷积神经网络2D数据制做实践
在深度学习实践中,自己搭建神经网络往往比较困难,一种可行的方法是将自己的2D数据通过OpenCV包里的resize()函数转换成目标shape,示例代码如下:
#-*- coding: utf-8 -*-
import cv2 as cv
# 读入原图片
img = cv.imread('test.jpg')
# 打印出图片尺寸
print(img.shape)
# 将图片高和宽分别赋值给x,y
x, y = img.shape[0:2]
# 显示原图
cv.imshow('OriginalPicture', img)
cv.waitKey()
# 缩放到原来的二分之一,输出尺寸格式为(宽,高)
img_test1 = cv.resize(img, (int(y / 20), int(x / 20)))
cv.imshow('resize0', img_test1)
cv.waitKey()
print(img_test1.shape)
# 最近邻插值法缩放
# 缩放到128*128
img_test2 = cv.resize(img_test1, (0, 0), fx=0.427, fy=0.762, interpolation=cv.INTER_NEAREST)
cv.imshow('resize1', img_test2)
cv.waitKey()
print(img_test2.shape)
实验结果:
(3376, 6000, 3)
(168, 300, 3)
(128, 128, 3)
[Finished in 33.7s]
以上纯属自学思考,如有错误欢迎指正!
参考:Python-OpenCV之图片缩放