我正在使用python 3和最新版本的openCV。我正在嘗試使用提供的調整大小功能調整圖像大小,但調整大小後圖像非常失真。代碼:調整圖像的大小而不失真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 * 640(RGB因此我通過0得到它的灰度)
有什麼辦法,我可以調整它的大小和使用OpenCV的或任何其他避免失真圖書館呢?我打算做一個手寫數字識別器,並且我已經使用MNIST數據訓練了我的神經網絡,因此我需要該圖像爲28x28。
沒有任何失真,你有2個選項:a)圖像的作物部位,使其相同的縱橫比。 b)將圖像的一部分(例如黑色像素)添加到圖像的側面以使其具有相同的縱橫比。如果你沒有相同的長寬比,就不可能不失真地獲得它。 – api55
您必須確保您傳遞的新尺寸的縱橫比與原始圖像相同,並確保使用合適的插值方法 –
我向原始圖像添加了黑色像素,使其成爲640x640,但仍然在調整尺寸時我得到一個扭曲的圖像。我能做什麼 ? –