我正在使用 python 3 和最新版本的 openCV。我正在尝试使用提供的调整大小功能调整图像大小,但在调整大小后图像非常失真。代码 :
import cv2
file = "/home/tanmay/Desktop/test_image.png"
img = cv2.imread(file , 0)
print(img.shape)
cv2.imshow('img' , img)
k = cv2.waitKey(0)
if k == 27:
cv2.destroyWindow('img')
resize_img = cv2.resize(img , (28 , 28))
cv2.imshow('img' , resize_img)
x = cv2.waitKey(0)
if x == 27:
cv2.destroyWindow('img')
原始图像为 480 x 640(RGB 因此我通过 0 将其转换为灰度)
有什么办法可以调整它的大小并避免使用 OpenCV 或任何其他库的失真?我打算制作一个手写数字识别器,并且我已经使用 MNIST 数据训练了我的神经网络,因此我需要图像为 28x28。
原文由 Tanmay Bhatnagar 发布,翻译遵循 CC BY-SA 4.0 许可协议
你可以试试下面。该功能将保持原始图像的宽高比。
这是一个示例用法。
希望这可以帮助。