Почему cv.matchShapes иногда обнаруживает совершенно разные фигуры как одни и те же? [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему cv.matchShapes иногда обнаруживает совершенно разные фигуры как одни и те же? [закрыто]

Сообщение Anonymous »

У меня есть код, который сравнивает две фигуры (в моем случае это многоугольники) на предмет идентичности. И в большинстве случаев этот код работает хорошо. Однако бывают случаи, когда совершенно разные цифры оказываются абсолютно одинаковыми. Ниже мой код.

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

def searching_figure(file_name):
list_with_coordinates = [] # here coordinates (x,y)

doc = fitz.open()
page = doc._newPage()

points_for_figure = [fitz.Point([i[0] * page.rect.width, i[1] * page.rect.height]) for i in list_with_coordinates]

for i in range(len(points_for_figure) - 1):
page.draw_line(points_for_figure[i], points_for_figure[i + 1], color=fitz.pdfcolor["red"], width=2)

pix = page.get_pixmap()

pix.save("searching_figure_13.jpg")
# pix.save("template_3.pdf")

def compare_two_figures(template, figure_for_compare):
template = cv.imread(template, cv.IMREAD_GRAYSCALE)
figure_for_compare = cv.imread(figure_for_compare, cv.IMREAD_GRAYSCALE)

_, thresh_template = cv.threshold(template, 127, 255, 0)
_, thresh_figure_for_compare = cv.threshold(figure_for_compare, 127, 255, 0)

contours_template, _ = cv.findContours(thresh_template, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
particular_contour_template = contours_template[0]

contours_figure_for_compare, _ = cv.findContours(thresh_figure_for_compare, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
particular_contour_figure_for_compare = contours_figure_for_compare[0]

differences = cv.matchShapes(particular_contour_template, particular_contour_figure_for_compare, 1, 0.0)
print(differences)
if differences < 0.1:
return "Figures same"
else:
return "figures different"
Но, например, на данный момент текущий код может дать совершенно идентичный результат.
Изображение


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

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

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

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

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

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

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