DrawContours () не работает opencv python

Я работал над примером поиска и рисования контуров в opencv python. Но когда я запускаю код, я вижу только темное окно без контуров. Я не знаю, где я ошибаюсь. Код:

import numpy as np import cv2 im = cv2.imread('test.png') imgray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(imgray,127,255,0) image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) img=cv2.drawContours(image,contours,0,(0,255,0),3) cv2.imshow('draw contours',img) cv2.waitKey(0) 

test.png – это просто белый прямоугольник на черном фоне.

Любая помощь будет оценена по достоинству.

Изменить: я использую Opencv 3.0.0 и Python 2.7

    One Solution collect form web for “DrawContours () не работает opencv python”

    Я считаю, что проблема drawContours командой drawContours . Как и в настоящее время, целью изображения является image и img . Вы также пытаетесь нарисовать цветную рамку на одноканальном 8-битном изображении. Кроме того, стоит отметить, что функция findContours фактически изменяет входное изображение в процессе нахождения контуров, поэтому лучше не использовать это изображение в более позднем коде.

    Я также рекомендовал бы создать новую копию изображения для установки в качестве места назначения для функции drawContours если вы намереваетесь продолжить анализ на своем изображении, чтобы не писать по единственной копии, к которой у вашей программы в настоящее время имеется доступ.

     import numpy as np import cv2 im = cv2.imread('test.png') imCopy = im.copy() imgray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(imgray,127,255,0) image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) cv2.drawContours(imCopy,contours,-1,(0,255,0)) cv2.imshow('draw contours',imCopy) cv2.waitKey(0) 

    Эти две быстрые исправления работали для меня на аналогичном изображении черного квадрата с белым фоном.

     
    Interesting Posts for Van-Lav

    Декодирование json в jython с использованием только библиотек по умолчанию

    как включить NSUserNotificationCenter в py2app

    Изменить тип байта python на строку

    Как добавить капитал в города-джанго-свет-страну?

    Короткое преобразование Фурье в python

    Поведение Python для богатого сравнения (или, когда Decimal ('100.0') <.01)

    почему django встроенные auth-представления не распознают настраиваемую форму?

    Круглый Робин метод смешивания двух списков в python

    Код SuperTrend с использованием pandas python

    Поле UUID добавлено после данных уже в базе данных. Есть ли способ заполнить поле UUID для существующих данных?

    Правильный способ определения параметра последовательности?

    Поддерживает ли Google App Engine Python 3?

    Может ли класс cdef хранить переменную, которая не объявлена ​​(type-)?

    используя asyncio для выполнения периодической задачи в django

    Python записывает файл создания непосредственно на FTP

    Python - лучший язык программирования в мире.