Skip to content

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

Notifications You must be signed in to change notification settings

Andy-Messer/OpenCV-search-gradient-img

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

OpenCV-search-gradient-img

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

Алгоритмы:

  • Поиска нулевой подматрицы наибольшего размера

Цель: Найти подматрицу быстрее, чем за O(n*m^2).

Идея: Будем расширять область, ограниченную единицами.

Реализация: Первым делом выставляем дефолтные значения на границы up, left, right.

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

up = [i if matrix[i][j] == 1 else up[j] for j in range(m)]

Вычисляем левую границу:

st = []
for j in range(m):
    st = find_barrier(st)
    left[j] = -1 if not st else st[-1]
    st.append(j)

Аналогично вычислем правую:

st = []
for j in range(m - 1, -1, -1):
    st = find_barrier(st)
    right[j] = m if not st else st[-1]
    st.append(j)

Посчитываем площадь, обновляем ответ, если выгодно:

for j in range(m):
    new_area = (i - up[j]) * (right[j] - left[j] - 1)
    if area < new_area:
        area = new_area
        coordinates_y = [up[j] + 1, i]
        coordinates_x = [left[j] + 1, right[j] - 1]

Т.к. мы перебирали строки и столбцы, ассимптотика не вышла за О(n*m).

Запуск

./python gradient_tracker.py

Настройка

В config.json, вид которого такой:

{
  "cfg_grad":
    {
      "filter" : "laplace",
      "color_density" : 5
    }
}
  • Сделайте выбор в пользу Вашего любимого алгоритма фильтрации ('laplace', 'sobel', 'scharr').
  • Поберите процент (color_density), при котором точность фильтрации будет наибольшей. Процент - целое число от 0 до 100.

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages