Я прочитал эту картину с помощью OpenCV:обнаружить 4 интересных пикселей
Я обнаружить границы объектов внутри него и отобразить изображение:
Вот мой код :
import cv2
import numpy as np
from matplotlib import pyplot as plt
im=cv2.imread('db/4.jpg')
#mask=np.zeros(img.shape[:2],np.uint8)
imgray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh=cv2.threshold(imgray,242,245,235)
contours,hierarchy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)
cv2.drawContours(im,contours,-1,(0,255,0),3)
cv2.imshow("GL",im)
cv2.waitKey(0)
cv2.destroyAllWindows()
Что я хочу делать:
Я хочу иметь координаты 4 точек, принадлежащих к одному из контуров и:
- Первый шкаф от оси X
- Второй один является Farest из X ось
- Третья один шкаф от оси Y
- Четвертого один является Farest от оси Y
Обрати внимание, что п Переменная множителя в моем коде может меняться в зависимости от изображения, которое я читаю.
Что-то вроде [boundingRect] (http://docs.opencv.org /modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=findcontours#boundingrect)? – beaker
@beaker No. Вы видите переменную 'contours' в моей программе? все зеленые пиксели (контуры объектов) сохраняются там как список массивов. Я хочу посмотреть в этом списке массивов для 4 пикселей, о которых я упоминал. –
Итак, вы хотите, чтобы ограничивающая рамка всех контуров была сгруппирована вместе? Как глобальный min-X, глобальный max-X? – beaker