Я сделаю пороговое и гауссовское, чтобы увидеть, что произойдет, но я не знаю, как сделать первую часть, которую вы объяснили. Я имею в виду то, что я хотел сделать, по координате X обнаружить все точки и удалить их. Кроме того, Hough был «лучшим» предложением, которое у меня было до сих пор для такого рода работы. Кстати, я попробую то, что вы сказали.
я есть это исходное изображение:
Моя цель - убрать нижнюю строку, оставив буквы / цифры нетронутыми.
Это код, который я использую:
import cv2
import numpy as np
img = cv2.imread('src.png')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,100,200,apertureSize = 5)
minLineLength = 0
maxLineGap = 19
lines = cv2.HoughLinesP(edges,1,np.pi/180,15,minLineLength,maxLineGap)
for x in range(0, len(lines)):
for x1,y1,x2,y2 in lines[x]:
cv2.line(img,(x1,y1),(x2,y2),(255,255,255),2)
cv2.imshow('hough',img)
cv2.waitKey(0)
Лучший результат, которого я достиг к настоящему времени, это:
Как я могу улучшить его, чтобы максимально очистить изображение? Например, весь мусор вокруг изображения, точки и (неподвижные) линии под словами, как я могу их удалить?
Спасибо.
OT: есть ли способ создать трекбар этого, который изменяет параметры (apertureSize, minLineLength, maxLineGap и т. Д.), Чтобы увидеть результаты в реальном времени?