Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 04.08.2020
Сообщений: 163
1

Как вычислить гистограмму градиентов ячейки 8×8?

08.11.2020, 02:06. Просмотров 747. Ответов 4


Доброго времени суток, предположим, что у меня есть фрагмент изображения 8 × 8 пикселей, и соответствующая матрица, заполненная значениями яркости каждого пикселя
Пусть для примера будет что-то вроде этого:
10 20 30 40 50 60 70 80 90
15 25 35 45 55 65 75 85 95
100 110 120 130 140 150 160 170
115 125 135 145 155 165 175 185
200 180 160 140 120 100 80 60
215 185 165 145 125 105 85 65
80 70 60 50 40 30 20 10
85 75 65 55 45 35 25 15
Я знаю, как находить направление градиента для пикселей центральных, например для пикселя на второй строчке третьего столбца (35) направление по горизонтали будет |25-45| = 20, а по вертикали |30-120| = 90
Но первое, что я не понимаю, как находить направление для крайних пикселей, например для пикселя первой строки первого столбца (10)
У меня есть теория, что отсутствующие значения нужно заменять нулем, и тогда получим направление по x: |0-20| = 0, а направление по y: |0-15|=15
Хотя я и не уверен, что это так
И я не понял, как строить гистограмму для этой ячейки 8 × 8, по-идеи она должна выглядеть в виде вектора (матрицы 9×1) размерностью 9, то есть нужно найти значения и направление для 9 пикселей (или же взять среднее значение и направление окружающих его пикселей), но я ровным счётом не понимаю, какие конкретно пиксели нужно брать для вектора из 9 значений
Проще говоря, мне непонятно, как преобразовать 64 пикселя в 9
В итоге у меня два вопроса:
Как считать направление для крайних пикселей, и как получить гистограмму ячейки (то есть сжать 64 пикселя в 9)
Очень нужна помощь!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2020, 02:06
Ответы с готовыми решениями:

Как сосчитать гистограмму ячейки 8 × 8?
Доброго времени суток, предположим, что у меня есть фрагмент изображения 8 × 8 пикселей, и...

Как найти массив градиентов?
У меня есть такое задание. Вопрос: как найти значение градиента елементов, которие находятся на...

Как вычислить цвет ячейки Excel
Доброе время суток. Плиз помогите пожалуйста решить задачу. Задача такова. Надо вычеслить сколько...

Как создать гистограмму?
Доброе время суток. Подскажите, мне требуется реализовать гистограмму. Я не могу найти хорошую...

4
285 / 252 / 49
Регистрация: 09.01.2018
Сообщений: 870
08.11.2020, 13:07 2
Во-первых, написано в вопросе 8х8, а пример дан для какой-то сложной структуры, у которой в первых строчках 9 значений, в остальных - 8. Это так и задумано?
Во-вторых, "Я знаю, как находить направление градиента...." то, что вы написали - это не "градиент" и тем более не "направление градиента". И вовсе не ясно, что потом с этими данными - двумя полученными абсолютными разностями значений по осям вы собрались делать.
В-третьих, теория, которая у вас есть - неверна. По логике рассуждения, в случае крайних точек надо брать абсолютное значение разности между значениями данной точки и соседней с ней и делить эту разность на два. Например для первого значения в четверной стоке (115) я бы взял |115-125|/2 (еще раз - это не градиент, и не направление градиента).

Про то, почему и как вы получаете |0-20| = 0, а |0-15|=15 - я даже не спрашиваю.

Подозреваю, что как и с термином "градиент", так и с термином "гистограмма" у вас какие-то непонятки. Термин "гистограмма" имеет устойчивое определение. Почему вы решили, что она должна иметь 9 "ячеек" (вообще-то у гистограммы интервалы, ну да ладно). О каких "значениях и направлениях пикселей(?!?) гистограммы идет речь?
0
0 / 0 / 0
Регистрация: 04.08.2020
Сообщений: 163
08.11.2020, 13:28  [ТС] 3
Да, прошу прощения, 9 элемент написал машинально, должно быть 8 × 8, с терминами пока что действительно путаюсь
Хочу реализовать алгоритм HOG, а для этого нужно понимать теорию, которая, к сожалению, не так подробно описана в интернете
Вижу я это следующим образом: найти яркость пикселей, для каждого пикселя сосчитать направление по x и y, затем вычислить для каждого пикселя значение и градиент, после чего ужать 64 пикселя в 9 (и как это сделать, я не понимаю), после чего скомпоновать ячейки и в конечном итоге вычислить HOG
0
285 / 252 / 49
Регистрация: 09.01.2018
Сообщений: 870
08.11.2020, 13:50 4
А вы хоть какую нибудь книгу по теме прочитали. Ладно, не книгу, в Гуугл искали?
https://www.analyticsvidhya.co... escriptor/
https://debuggercafe.com/image... escriptor/
https://kgeorge.github.io/2014... -detection
0
0 / 0 / 0
Регистрация: 04.08.2020
Сообщений: 163
08.11.2020, 14:17  [ТС] 5
Я всегда первым делом лезу в поисковики при возникновении проблемы
Две статьи, скинутые вами, я уже видел
Я все равно не могу понять
Вот вы мне объяснили, как рассчитывать направления по x и y для крайних пикселей, за это большое спасибо, так как я никак не понимал этого
Но я не понимаю, как сжать 64 пикселя в 9
То есть как просто пиксель в нужную ячейку занести в первой статье неплохо показано, но какие именно пиксели нужно заносить, и что будет, если в одну ячейку вектора 9×1 попадет два пикселя (и возможно ли такое вообще), я не понимаю
То есть, как я понял, в вектор 9×1 нам нужно занести только 9 пикселей из 64, это верно?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2020, 14:17

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как построить гистограмму?
По примеру не совсем понятно, там для целых значений, пыталась в double переделать, не вышло....

Как нормализовать гистограмму?
Мой код: myBins = linspace(0,14,50); y1 = hist(AgesOne, myBins); y2 = hist(AgesTwo,...

Как отрисовать гистограмму?
Есть задача: смоделировать случайную величину с нормальным распределением и построить гистограмму....

Как построить гистограмму?
Есть 17 цифр. Как из них построить гистограму или график? Читал про компоненту MS Chart, но...

Как построить гистограмму
Как построить гистограмму в маткад ?

Как построить гистограмму?
дана последовательность чисел нужно расчитать некоторые величини и построить гистограмму Обьясните...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.