Tôi đang gặp khó khăn khi tìm các ví dụ để xoay hình ảnh xung quanh một điểm cụ thể theo góc cụ thể (thường rất nhỏ) trong Python bằng cách sử dụng OpenCV.OpenCV Python xoay hình ảnh theo độ X xung quanh điểm cụ thể
Đây là những gì tôi có cho đến nay, nhưng nó tạo ra một hình ảnh kết quả rất lạ, nhưng nó có thể xoay một chút:
def rotateImage(image, angle):
if image != None:
dst_image = cv.CloneImage(image)
rotate_around = (0,0)
transl = cv.CreateMat(2, 3, cv.CV_32FC1)
matrix = cv.GetRotationMatrix2D(rotate_around, angle, 1.0, transl)
cv.GetQuadrangleSubPix(image, dst_image, transl)
cv.GetRectSubPix(dst_image, image, rotate_around)
return dst_image
Thanks for the help, tuy nhiên tôi đang sử dụng "cv" mô-đun và bạn đang sử dụng "CV2", do đó phàn nàn của nó đặc biệt về "image.shape" không tồn tại. Tôi đã chỉ được sử dụng mô-đun "cv" cho đến bây giờ, vì vậy tôi không hoàn toàn nhận được tất cả các thay đổi với "cv2" được nêu ra. Tôi biết hình ảnh của tôi là (140.140), vì vậy tôi đã cố gắng mã hóa cứng thay cho image.shape, nhưng nó cũng không giống như vậy. – Mike
Tôi nghĩ rằng tôi có thể đã thực hiện một số tiến bộ, nhưng vẫn gặp sự cố. Đây là mã mới nhất: result = cv2.warpAffine (hình ảnh, rot_mat, cv.GetSize (hình ảnh), cờ = cv2.INTER_LINEAR) Traceback (gần đây nhất gọi cuối cùng): result = cv2.warpAffine (hình ảnh , rot_mat, cv.GetSize (hình ảnh), cờ = cv2.INTER_LINEAR) Lỗi Loại: không phải là một mảng numPy –
Mike
tôi có một vấn đề chạy cv2.getRotationMatrix2D (trung tâm = image_center, góc = góc, quy mô = 1) TypeError: function lấy chính xác 2 đối số (3 đã cho) – Hani