|
|
||
Двумерная свертка матриц(объяснить формулу)03.07.2017, 12:25. Показов 10522. Ответов 18
Метки нет (Все метки)
У меня есть коротенький теоретический материал оценки размытости изображения, и вот мне не понятно как я из свертки матриц получаю число. Ведь результатом сверки 2х матриц должна быть другая матрица, а не число, если я правильно понимаю.
вот материал:
0
|
||
| 03.07.2017, 12:25 | |
|
Ответы с готовыми решениями:
18
Двумерная свертка Ввести 5 матриц, вывести число квадратных матриц и объяснить что какой оператор значит Не могу объяснить формулу нахождения цифры в k-ой позиции |
|
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
|
|
| 04.07.2017, 00:46 | |
|
1
|
|
|
|
|
| 04.07.2017, 13:26 [ТС] | |
|
splen, проблема состоит в том, что после свертки матрицы изображения и ее маски на выходе получается матрица размером равной количеству пикселей изображения. Если суммировать значение яркости каждого пикселя, то:
во-первых: получаются огромные числа, которые не факт что войдут в выделенную для переменной память; во-вторых: результат все равно выглядит странно, так как после проведенных мной тестов просуммированное значение не имеет никакого отношения к размытости.
0
|
|
|
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
|
||
| 04.07.2017, 14:26 | ||
|
1
|
||
|
|
|
| 04.07.2017, 15:00 [ТС] | |
|
splen, то есть здесь после свертки получается тоже матрица, но 3х3, по которой и считается сумма элементов?
0
|
|
|
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
|
|
| 04.07.2017, 15:04 | |
|
Свёртка включает и вычисление суммы. Поэтому после свёртки остаётся одно число.
1
|
|
|
|
||||||
| 04.07.2017, 15:36 [ТС] | ||||||
|
splen,
0
|
||||||
|
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
|
|
| 04.07.2017, 15:43 | |
|
Цикл по p и q при суммировании не нужен.
Вместо "img.at<uchar>(p, q)*m[i][j]" должно быть "img.at<uchar>(p+i-1, q+j-1)*m[i][j]".
1
|
|
|
|
|
| 04.07.2017, 16:03 [ТС] | |
|
splen, дак а как тогда мне менять эти p и q, если мне нужно оценить изображение в целом, а не только определенную точку?
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
||
| 04.07.2017, 17:10 | ||
|
Почему не сверять яркости двух пикселей или количество пересвеченных? Если аппаратный предел яркости пикселей есть то Количество пересвеченных пикселей это величина размытия. Иначе Найти в окне свертки N на N самое яркое окно. Разность яркости центрального пикселя этого окна и яркости например средней яркости пикселей периферии этого окна будет величина размытия. N=может хватит и 3. Вроде много быстрей чем 6 сверток. Добавлено через 2 минуты Кстати вес для расчета яркости окна можно взять хоть такой. 0.5 0.5 0.5 0.5 1.0 0.5 0.5 0.5 0.5 Или другой нелинейный. Добавлено через 15 минут Может вообще так подойдет? Ищем Max и Min яркости в растре. Считаем количество пикселей с яркостью больше (Max- Min)/2.
1
|
||
|
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
|
|
| 04.07.2017, 19:42 | |
|
Величина Gc=Gcpq характеризует размытость в одной точке (p,q).
Если нужно оценить изображение в целом, то можно как-то учитывать размытость в отдельных точках. Это можно делать по-разному, и в приведенном фрагменте текста об этом ничего не говорится. Например, можно усреднить эту величину по всем внутренним точкам изображения:
1
|
|
|
|
|
| 05.07.2017, 09:46 [ТС] | |
|
Excalibur921, скорость работы у меня пока не стоит в списке приоритетов, главное решить основную задачу. Да и вообще я ничего не понял из того, что вы написали. Ориентировка на максимальную и минимальную яркость выглядит как костыль, а изображение может быть размыто в непредсказуемых местах.
Добавлено через 13 часов 5 минут splen, Значит все таки пытаться использовать такой многомерный цикл, как я уже представлял выше, с учетом координат изображения (p+i-1, q+j-1)?
0
|
|
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 05.07.2017, 10:06 | |
|
Алгоритм с поста1 подходит только если линза фокусирует изображение светящейся точки. Поэтому и написано что поверхность 2 порядка. Он не предназначен не для чего другого.
Если у вас сложное изображение с нелинейным размытием то он вам вообще не подходит. Опишите что это и для чего изначально. Скорей всего нужно искать что то вроде “анализ размытия изображения”
1
|
|
|
|
|
| 05.07.2017, 10:14 [ТС] | |
|
Excalibur921, алгоритм я взял из статьи, которую я прикрепил. Там в конце были представлены тесты всех методов на изображении, в том числе и этого метода.
0
|
|
|
|
||||||
| 05.07.2017, 13:07 [ТС] | ||||||
|
Попытался применить такую свертку:
0
|
||||||
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
| 05.07.2017, 16:41 | |
|
В растре 100х100 канал разбить на квадраты 10х10 будет 100 матриц М.
Величина разбиения зависит от размера деталей на фото. Каждой M найти a,b,c,d как в тексте и все сложить. Наверно этот метод лучше всего подойдет для анализа “Пятна рассеивания” . Светящееся точка должна быть на примерно оптической оси камеры. Тогда a,b,c,d искать 1 раз. https://ru.wikipedia.org/wiki/Пятно_рассеяния Вообще лучше сначала сделать визуальный тест метода на мелкой матрице растр 10 на 10. Задать a,b,c,d слайдерами. Построить поверхность1 10 на 10 точек. Найти a,b,c,d. Построить поверхность2. Сверить визуально примерно совпадают? Наверно для адекватности метода нужно разбивать растр на матрицы порядка 5 на 5 пикселей это жесть...
1
|
|
|
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
|
|||
| 05.07.2017, 17:52 | |||
|
Если трудно разобраться с 4-х-уровневым циклом, начните с того, что напишите функцию, которая принимает img, p и q, а возвращает Gcpq, а потом пишите цикл по p и q. Решите, в каких пределах будут изменяться p и q - от 0 до P-1 и Q-1 или от 1 до P и Q. Добавлено через 35 минут (это не так принципиально), но берётся не его среднее по изображению, а дисперсия. Тоже приемлемый подход.
1
|
|||
|
|
||||||
| 05.07.2017, 19:14 [ТС] | ||||||
|
splen, я интерпретировал питоновский код из той статьи в с++(правда не знаю насколько эта система будет стабильна), в итоге все это математическое колдовство превратилось в несколько строчек:
0
|
||||||
|
1728 / 1020 / 181
Регистрация: 03.06.2012
Сообщений: 1,220
|
|
| 05.07.2017, 19:40 | |
|
Если устраивает, пользуйтесь.
1
|
|
| 05.07.2017, 19:40 | |
|
Помогаю со студенческими работами здесь
19
Обработка матриц. Просьба объяснить программу. Записать формулу вычисления произведения матриц Найти формулу количества бинарных квадратных матриц порядка n
Определите класс матриц. Напишите перегруженные конструкторы для создания одномерной и двумерной матриц. В конструкторы передаются размерности матриц Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|