Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 04.08.2020
Сообщений: 231

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

08.11.2020, 02:06. Показов 1743. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.11.2020, 02:06
Ответы с готовыми решениями:

Правильно ли я считаю гистограмму градиентов?
Доброго времени суток, не нашел четкого описания алгоритма HOG, во многих статьях даны лишь расплывчатые представления, в связи с этим...

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

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

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

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

Подозреваю, что как и с термином "градиент", так и с термином "гистограмма" у вас какие-то непонятки. Термин "гистограмма" имеет устойчивое определение. Почему вы решили, что она должна иметь 9 "ячеек" (вообще-то у гистограммы интервалы, ну да ладно). О каких "значениях и направлениях пикселей(?!?) гистограммы идет речь?
0
0 / 0 / 0
Регистрация: 04.08.2020
Сообщений: 231
08.11.2020, 13:28  [ТС]
Да, прошу прощения, 9 элемент написал машинально, должно быть 8 × 8, с терминами пока что действительно путаюсь
Хочу реализовать алгоритм HOG, а для этого нужно понимать теорию, которая, к сожалению, не так подробно описана в интернете
Вижу я это следующим образом: найти яркость пикселей, для каждого пикселя сосчитать направление по x и y, затем вычислить для каждого пикселя значение и градиент, после чего ужать 64 пикселя в 9 (и как это сделать, я не понимаю), после чего скомпоновать ячейки и в конечном итоге вычислить HOG
0
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
08.11.2020, 13:50
А вы хоть какую нибудь книгу по теме прочитали. Ладно, не книгу, в Гуугл искали?
https://www.analyticsvidhya.co... escriptor/
https://debuggercafe.com/image... escriptor/
https://kgeorge.github.io/2014... -detection
0
0 / 0 / 0
Регистрация: 04.08.2020
Сообщений: 231
08.11.2020, 14:17  [ТС]
Я всегда первым делом лезу в поисковики при возникновении проблемы
Две статьи, скинутые вами, я уже видел
Я все равно не могу понять
Вот вы мне объяснили, как рассчитывать направления по x и y для крайних пикселей, за это большое спасибо, так как я никак не понимал этого
Но я не понимаю, как сжать 64 пикселя в 9
То есть как просто пиксель в нужную ячейку занести в первой статье неплохо показано, но какие именно пиксели нужно заносить, и что будет, если в одну ячейку вектора 9×1 попадет два пикселя (и возможно ли такое вообще), я не понимаю
То есть, как я понял, в вектор 9×1 нам нужно занести только 9 пикселей из 64, это верно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.11.2020, 14:17
Помогаю со студенческими работами здесь

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

Вычислить возраст по функции СЕГОДНЯ ГОД, применить фильтр. Построить сравнительную гистограмму
Долго болел, многого не понимаю помогите, пожалуйста, с заданием. Очень нужно:cry::help:

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

Как сделать Гистограмму ?
Например: число 1 встречается 2 раза, число 3 - 7 раз, число 4 - 3 раза и т.д., то гистограмма будет выглядеть число гистограмма 1 ** ...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru