簡體   English   中英

如何使用 CV2 旋轉沒有黑色邊框的照片?

[英]How can I rotate a photo using CV2 without black borders?

例如,我需要將照片旋轉 10 度。 轉彎后邊角出現黑色條紋。 我厭倦了擺脫它們。 在知道旋轉角度的情況下,如何計算所需的縮放比例或需要裁剪的像素數?

def rotate_image(image, angle):
  image_center = tuple(np.array(image.shape[1::-1]) / 2)
  rot_mat = cv2.getRotationMatrix2D(image_center, angle, 1.069)
  result = cv2.warpAffine(image, rot_mat, image.shape[1::-1], flags=cv2.INTER_LINEAR)
  return result

您的意思是執行旋轉后每個角都會出現三角形嗎? 如果是這樣,我相信這是“正確”的旋轉方式,因為這樣您就不會丟失原始照片中的任何信息。 但是,如果您不關心角落並且想保留原始圖像尺寸,那么也許可以嘗試imutils.rotate()方法? 有關更多信息,請參閱此鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM