Как обнаружить маленькие пулевые отверстия из некачественного изображения - OpenCV Python - PullRequest
0 голосов
/ 11 апреля 2019

Для обзора проекта я создаю проект для симулятора реальных пуль. Человек снимает экран (белый пластиковый лист для проектора) из настоящих пушек, за экраном - камера который обнаруживает каждую новую пулевые отверстия на изображениях экрана. Я перепробовал много методов для этой цели, и я буду признателен за новую идею, пока я не получу точность в обнаружении пуль.

Вот основной код, который я пробовал.

Вот исходные изображения, которые снимаются камерой за экраном. sample_plate.png

А вот еще одно манипулируемое изображение, предназначенное для указания ожидаемого результата. Click here

Я хочу обнаружить эти оригинальные пулевые отверстия и нарисовать на них круг это то, что я пытался использовать метод 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: thres_binary_result.png

cv2.THRESH_TRUNC: thres_trunc_result

cv2.THRESH_TOZERO: thres_tozero_result.png

Пожалуйста, предложите любой новый метод и, пожалуйста, попробуйте мои изображения, Я пытался ответить на многие вопросы, и они не могут помочь мне, потому что на экране (белый пластиковый лист для проектора) воспроизводится видео, и я должен обнаружить на нем реальную дыру от пуль, так что у меня нет возможности обнаружить ее раньше. и после кадра, потому что каждый кадр будет отличаться, независимо от того, есть новый кадр или нет. Заранее спасибо.

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