Обнаружение края OpenCV не рисует ограничивающую рамкуPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Обнаружение края OpenCV не рисует ограничивающую рамку

Сообщение Anonymous »

У меня есть изображение, для которого я хотел бы обнаружить края и нарисовать к нему ограничивающую рамку. Моя проблема в том, что мой код Python не рисует ограничивающую рамку, и я не уверен, что это потому, что он не смог ее обнаружить. объекты в нем, или я просто неправильно рисую прямоугольник.
введите описание изображения здесь
Вот моя попытка

Код: Выделить всё

import cv2
import numpy as np

img = cv2.imread("image1.jpg")
(B, G, R) = cv2.split(img)
img = cv2.Canny(B, 20, 100)   # Blue channel gives the best box so far
# img = cv2.Canny(R, 20, 100)
# img = cv2.Canny(R, 20, 100)

ret,thresh = cv2.threshold(img,20,100,0)
contours,hierarchy = cv2.findContours(thresh, 1, 2)

cnt = contours[0]
M = cv2.moments(cnt)

for c in contours:
rect = cv2.minAreaRect(c)
box = cv2.boxPoints(rect)
box = np.intp(box)
img = cv2.drawContours(img,[box],0,(0,0,255),2)

# display the image with bounding rectangle drawn on it
# cv2.namedWindow('Bounding Rectangle', cv2.WINDOW_KEEPRATIO)
cv2.imshow('Bounding Rectangle', img)

cv2.waitKey(0)
cv2.destroyAllWindows()
Это изображение
введите здесь описание изображения
и я ожидаю изображение, которое представляет собой что-то вот так:
введите здесь описание изображения

Подробнее здесь: https://stackoverflow.com/questions/783 ... unding-box
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»