Борьба с обнаружением сеткиPython

Программы на Python
Ответить
Anonymous
 Борьба с обнаружением сетки

Сообщение Anonymous »

Сейчас я работаю в нейробиологической лаборатории, и мне нужна помощь в написании поведенческого теста. Я застрял в проблемах с обнаружением сетки для моего проекта. Я немного новичок в компьютерном зрении, поэтому буду признателен за рекомендации. Вот пример изображения, с которым я работаю:
Базовое изображение
Я хочу обнаружить здесь линии в сетке и попробовал различные подходы (преобразование Хафа + обнаружение краев Кэнни, обнаружение краев Собеля, даже обнаружение на основе цвета). Когда я пробую преобразование Хафа + Кэнни, я получаю вот такой результат:
Результат
В принципе не очень точный, лол. Он также неправильно классифицирует некоторые положительные моменты и довольно плохо пытается обнаружить некоторые линии сетки, находящиеся в тенях вверху и по бокам изображения. Вот мой код того, как я его реализую прямо сейчас:

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

import cv2
import numpy as np

img = cv2.imread('grid_image.png')
gray_img=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

edges = cv2.Canny(gray_img, 50, 150)

lines = cv2.HoughLinesP(edges, rho=1, theta=np.pi/180, threshold=100, minLineLength=100, maxLineGap=10)

line_img = np.zeros_like(img)

for line in lines:
x1, y1, x2, y2 = line[0]
cv2.line(line_img, (x1, y1), (x2, y2), (0, 255, 0), 2)

# combine images
result = cv2.addWeighted(img, 0.8, line_img, 1, 0)

# Display the result
cv2.imshow('Grid Detection', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
Я немного растерялся и хотел бы получить советы о том, что я могу сделать, чтобы улучшить/изменить свой подход. Пожалуйста, дайте мне знать, любая помощь будет оценена по достоинству.

Подробнее здесь: https://stackoverflow.com/questions/784 ... -detection
Ответить

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

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

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

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

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