Я работаю для сравнения изображений, для которых мне нужно сделать шаблон.
текущее изображение:
Я могу закрасить требуемое изображение, но не могу обрезать требуемое изображение, код дляЦветное изображение выглядит следующим образом:
import numpy as np
import cv2
img = cv2.imread('./org.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(gray,127,255,1)
contours,h = cv2.findContours(thresh,1,2)
for cnt in contours:
approx = cv2.approxPolyDP(cnt,0.01*cv2.arcLength(cnt,True),True)
print (len(approx))
if len(approx)==5:
# print "pentagon"
cv2.drawContours(img,[cnt],0,255,-1)
elif len(approx)==3:
# print "triangle"
cv2.drawContours(img,[cnt],0,(0,255,0),-1)
elif len(approx)==4:
# print "square"
cv2.drawContours(img,[cnt],0,(0,0,255),-1)
elif len(approx) == 9:
# print "half-circle"
cv2.drawContours(img,[cnt],0,(255,255,0),-1)
elif len(approx) > 15:
# print "circle"
cv2.drawContours(img,[cnt],0,(0,255,255),-1)
cv2.imwrite('./test/Image_crop.jpg', img)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
ВЫХОД:
- Я хочу обрезать цветное изображение красный .
- Сохранить изображение обрезки с помощью нерегулярный Размер.
- Есть ли какой-то другой способ получить необходимое изображение, кроме cv2.drawContours
Вопрос зависит от: Сбой библиотек Python для подробногоСравнение изображений между двумя сдвинутыми изображениями, снятыми с помощью веб-камеры
, помогает мне в решении с использованием python .