Polydp () для нескольких изображений - PullRequest
0 голосов
/ 11 июня 2019

Я хочу определять круги, используя polydp () для нескольких изображений в каталоге.Я заявил, что если в контуре более 10 ребер, это круг, он хорошо работал с отдельными изображениями.но у меня возникла проблема с обработкой нескольких изображений с использованием os.path, sys.

path = ''
dirs = os.listdir(path)
from PIL import Image
import os.path, sys


def poly():
    for item in dirs:
        fullpath = os.path.join(path,item)         #corrected
        if os.path.isfile(fullpath):
            img_color = Image.open(fullpath)




            img_gray = cv.cvtColor(img_color, cv.COLOR_BGR2HSV)
            img_gray = cv.cvtColor(img_color, cv.COLOR_BGR2GRAY)

            ret, img_binary = cv.threshold(img_gray, 127, 255, cv.THRESH_BINARY_INV | cv.THRESH_OTSU)




            contours, hierarchy = cv.findContours(img_binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)


            for cnt in contours:
                    size = len(cnt)
                    print(size)

                    epsilon = 0.01 * cv.arcLength(cnt, True)
                    approx = cv.approxPolyDP(cnt, epsilon, True)

                    size = len(approx)
                    #print(size)
                    cv.line(img_color, tuple(approx[0][0]), tuple(approx[size - 1][0]), (0, 255, 0), 3)
                    for k in range(size - 1):
                                cv.line(img_color, tuple(approx[k][0]), tuple(approx[k + 1][0]), (0, 255, 0), 3)

            if size > 10:
                print("circle")



poly()


сообщение об ошибке

строка 22, в кадре img_gray = cv.cvtColor (cv.UMat, cv.COLOR_BGR2HSV) TypeError: Ожидается cv :: UMat для аргумента 'src'

какие-либо советы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...