Python, OpenCV – рисование контуров перекрывающихся областей, некоторые пиксели исключены?Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Python, OpenCV – рисование контуров перекрывающихся областей, некоторые пиксели исключены?

Сообщение Гость »

Я экспериментирую с drawContours и попробовал это:

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

def fix_format(cts):
return [np.asarray(np.round(ct), np.int32)[:, :, np.newaxis] for ct in cts]

# these are 2 overlapping rectangular regions
cts1 = [
[[1, 1], [6, 1], [6, 4], [1,4]],
[[3, 2], [7, 2], [7, 7], [3,7]]
]
img1 = cv2.drawContours(np.zeros([10, 10]), fix_format(cts1), contourIdx=-1, color=1, thickness=-1)
Я предполагал, что, поскольку я использую Thickness=-1, контуры будут заполнены, и поскольку области перекрываются, в конечном итоге я получу объединение областей. ограничены двумя контурами в cts1.

Однако при печати img1 я вижу 2 значения, которые по-прежнему равны 0 в области перекрытия (img1[3][4] и img1[3][ 5]).
Почему это происходит?
РЕДАКТИРОВАТЬ:
Я попробовал использовать два контура отдельно, и вот что я получить (для первого, второго и обоих контуров соответственно):
Изображение
Изображение
Изображение


Источник: https://stackoverflow.com/questions/781 ... e-excluded
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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