Моя цель состоит в том, чтобы исправить ориентацию изображения для ориентации, которую я использовал для преобразования перспективы, но с помощью преобразования перспективы результирующее изображение отображается пустым, и я не знаю причину, по которой оно отображается пустым
Это маркерное изображение, которое я использую для разделения изображений кофейных зерен, и изображение, которое я получил после преобразования перспективы.
Вот мои детали реализации, которые я Я использую для, чтобы исправить ориентацию разделенного изображения
i = 13
imagemask = np.zeros(markers.shape)
imagemask[markers == i]=255
# dilation = cv2.dilate(imagemask,kernel=np.ones((7,7)),iterations = 3)
im = np.array(imagemask* 255, dtype = np.uint8)
#To remove the problem of 8UC1 problem'''
# new_bk_image = cv2.bitwise_and(imagemask , result )
r,contours, hierarchy = cv2.findContours(im,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)
# imgaftercontourboundary = cv2.drawContours(dilation, contours, -1, (0,255,0), 3)
cnt = contours[0]
M = cv2.moments(cnt)
x,y,w,h = cv2.boundingRect(cnt)
# greenrectangle = cv2.rectangle(coffee_RGB,(x,y),(x+w,y+h),(0,255,0),3)
rect = cv2.minAreaRect(cnt)
box = cv2.boxPoints(rect)
box = np.int0(box)
x1 , y1 , w1 , h1 = cv2.boundingRect(box)
# mask = imagemask.astype('int')
final_image = cv2.bitwise_and(result , result, mask = im )
# print(box)
imagered = final_image[y1:y1+h1 , x1:x1+w1 , : ]
# plt.figure()
# plt.imshow(imagered)
source = np.float32(box)
print(x1, y1 , w1 , h1 )
destination = np.float32([[0,0],[w1,0],[0,h1],[w1,h1]])
# plt.figure()
# plt.imshow(destination)
M = cv2.getPerspectiveTransform(source,destination)
dst = cv2.warpPerspective(imagered,M,(300, 300))
plt.figure(figsize=(12,10))
plt.imshow(dst)
plt.imsave('E:\InternshipAGNEXT\CoffeeBeansClassiication\SegmentedImage\MarkerImage\pers\ .jpg',dst)