Хотя ни одно из доступных решений не работало для OpenCV и даже не решило мою проблему.Но после нескольких модификаций я могу решить эту проблему в OpenCV.
import cv2
img = cv2.imread('Please put your file name')
# Setting the parameters
ang = 47
top_left_x = min([12,42,53,11])
top_left_y = min([41,56,75,20])
bot_right_x = max([12,42,53,11])
bot_right_y = max([41,56,75,20])
y_right =bot_right_y + 1
x_right =bot_right_x + 1
# Cropping the image
cropped_img = img[top_left_y: y_right, top_left_x: x_right]
########### Rotating the image ##########
# First setting the centre and roatation angle parameter.
# To rotate sub-image from the centre of the original image
rows,cols = img.shape
M = cv2.getRotationMatrix2D((cols/2,rows/2),ang,1)
# Setting the size with original image to resolve size issue
rotated_img = cv2.warpAffine(cropped_img,M,(img.shape[1],img.shape[0]))
# Pasting the rotated image on original image
# The original image will be in the background with transparency 0.3
# The sub-image will be pasted above the original image with transparency 0.7
img = cv2.addWeighted(img, 0.3, rotated_img, 0.7, 0)
# Showing the image
cv2.namedWindow('img', cv2.WINDOW_NORMAL)
cv2.imshow('output_image.jpg', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Это не самый подходящий ответ, но он может служить цели для многих из нас.