Обнаружение царапин на шумовом изображении с OpenCV - PullRequest
0 голосов
/ 19 сентября 2019

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

Я попытался использовать размытие изображения и вычесть его из исходного изображения, а затем порог, чтобы получить изображение в качестве второго.

Может ли какой-нибудь орган посоветовать получить эту царапину?

Исходное изображение:

Original image

Изображение после размытия, вычитанияи порог:

Image after blurring, subtraction, and threshold

Вот как я обрабатываю этот образ:

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread("scratch0.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
blur = cv2.blur(gray,(71,71))

diff = cv2.subtract(blur, gray)
ret, th = cv2.threshold(diff, 13, 255, cv2.THRESH_BINARY_INV)
cv2.imshow("threshold", th)
cv2.waitKey(0)
...