Для обзора проекта я создаю проект для симулятора реальных пуль. Человек снимает экран (белый пластиковый лист для проектора) из настоящих пушек, за экраном - камера
который обнаруживает каждую новую пулевые отверстия на изображениях экрана.
Я перепробовал много методов для этой цели, и я буду признателен за новую идею, пока я не получу точность в обнаружении пуль.
Вот основной код, который я пробовал.
Вот исходные изображения, которые снимаются камерой за экраном.
А вот еще одно манипулируемое изображение, предназначенное для указания ожидаемого результата.
Я хочу обнаружить эти оригинальные пулевые отверстия и нарисовать на них круг
это то, что я пытался использовать метод open cv2.threshold
import cv2
import numpy as np
## getting bullet shots images
image = cv2.imread("sample_plate.png")
## applying threshold
retval, threshold_image = cv2.threshold(image, 10, 255, cv2.THRESH_BINARY)
cv2.imwrite("thres_binary_result.png",threshold_image)
retval, threshold_image = cv2.threshold(image, 10, 255, cv2.THRESH_TRUNC)
cv2.imwrite("thres_trunc_result.png",threshold_image)
retval, threshold_image = cv2.threshold(image, 10, 255, cv2.THRESH_TOZERO)
cv2.imwrite("thres_tozero_result.png",threshold_image)
А вот результат, который я получил.
cv2.THRESH_BINARY:
cv2.THRESH_TRUNC:
cv2.THRESH_TOZERO:
Пожалуйста, предложите любой новый метод и, пожалуйста, попробуйте мои изображения,
Я пытался ответить на многие вопросы, и они не могут помочь мне, потому что на экране (белый пластиковый лист для проектора) воспроизводится видео, и я должен обнаружить на нем реальную дыру от пуль, так что у меня нет возможности обнаружить ее раньше. и после кадра, потому что каждый кадр будет отличаться, независимо от того, есть новый кадр или нет.
Заранее спасибо.