0 / 0 / 0
Регистрация: 14.09.2022
Сообщений: 87
|
|||||||||||
1 | |||||||||||
Реализация фильтра Собеля05.12.2022, 08:47. Показов 1034. Ответов 15
Подскажите, как написать код фильтр выделения границ на изображении на основе оператора Собеля и сравнить его работу с функцией, реализованной в Matlab. Сравнение выполнить с помощью std2
Задал маску в виде матрицы Записал программу свёртки изображения с этой маской Сравнил эти 2 результата. Что не так?
0
|
05.12.2022, 08:47 | |
Ответы с готовыми решениями:
15
Реализация фильтра Собеля без Imfilter и Edge Реализация БИХ-фильтра Реализация фильтра Винера или Чебышева Ошибка invalid floating point operation в Delphi при реализации фильтра Собеля |
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
|
|
05.12.2022, 15:01 | 2 |
menachem, возможно, у вас не установлен Image Processing Toolbox
1
|
0 / 0 / 0
Регистрация: 14.09.2022
Сообщений: 87
|
|||||||||||
06.12.2022, 08:09 [ТС] | 3 | ||||||||||
Вот новая версия:
Кликните здесь для просмотра всего текста
Целые числа могут быть объединены только с целыми числами того же класса или скалярными двойниками. Нужно преобразовывать матрицы изображений? Добавлено через 1 минуту АлександрКом, такой компонент установлен
0
|
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
|
|
06.12.2022, 15:13 | 4 |
0
|
0 / 0 / 0
Регистрация: 14.09.2022
Сообщений: 87
|
||||||||||||||||||||||||||
07.12.2022, 11:07 [ТС] | 5 | |||||||||||||||||||||||||
Добавил преобразование
Какое то другое преобразование нужно делать? Добавлено через 1 час 15 минут Ошибка была в коде. Исправил
Теперь матрицы нужно приводить к одному размеру? Как это сделать? Добавлено через 28 минут АлександрКом, Я так понимаю нужно добавить столбец или строку в одну из матриц... Как это сделать и в какую из матриц добавлять? Добавлено через 1 час 55 минут нашёл такой пример
Подскажите.
0
|
4920 / 2673 / 550
Регистрация: 07.11.2019
Сообщений: 4,395
|
|
07.12.2022, 11:59 | 6 |
menachem, ты что делаешь? A у тебя маска Собеля, размером 3x3 скорее всего. Такой же размер имеет и i4, a i1 это у тебя большое изображение 100500x100500 пикселей. В Workspace window иногда смотреть нужно!
0
|
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
|
|||||||||||
07.12.2022, 12:49 | 7 | ||||||||||
menachem, если вы почитаете справку к fspecial('sobel'), то увидите, что данная функция возвращает ядро фильтра 3х3 для поиска только горизонтальных границ. Поэтому данные строки кода должны дать один и тот же результат:
0
|
0 / 0 / 0
Регистрация: 14.09.2022
Сообщений: 87
|
|
07.12.2022, 13:34 [ТС] | 8 |
какого размера тогда лучше использовать изображение?
Добавлено через 2 минуты АлександрКом, да, матрицы обои размером 3х1
0
|
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
|
|
07.12.2022, 14:51 | 9 |
0
|
0 / 0 / 0
Регистрация: 14.09.2022
Сообщений: 87
|
|
08.12.2022, 11:10 [ТС] | 10 |
АлександрКом, Матрицы i1 и i4
0
|
4920 / 2673 / 550
Регистрация: 07.11.2019
Сообщений: 4,395
|
|
08.12.2022, 18:14 | 11 |
0
|
0 / 0 / 0
Регистрация: 14.09.2022
Сообщений: 87
|
|||||||||||
10.12.2022, 14:39 [ТС] | 12 | ||||||||||
Подскажите как сравнить 2 результата? с помощью std2(....)
u235, наверное немного ошибся Кликните здесь для просмотра всего текста
Command Window
0
|
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
|
|
12.12.2022, 11:41 | 13 |
menachem, в первой части кода вы пропускаете через фильтр A_grey (полутоновое изображение). Во второй части кода вы делаете бессмысленную вещь - пропускаете через фильтр ядро преобразования Собеля (А).
1
|
0 / 0 / 0
Регистрация: 14.09.2022
Сообщений: 87
|
|
13.12.2022, 09:25 [ТС] | 14 |
АлександрКом, Вот такой план:
Задача написать фильтрацию изображения оператором Собеля: -с помощью маски h=fspecial('sobel'); провести фильтрацию функцией imfilter Это результат номер 1 -задать маску в виде матрицы -свёртка изображения с этой маской Результат номер 2 Сравнить результаты 1 и 2 по их разности и определить СКО этой разности с помощью std2 Ввиду того что размерности матриц разные, std2 не выполняеться
0
|
1281 / 912 / 446
Регистрация: 21.10.2012
Сообщений: 2,588
|
|
13.12.2022, 12:00 | 15 |
вы этого не делаете, вы делаете свёртку одной маски с другой. Смотрите внимательно на имена ваших переменных.
0
|
0 / 0 / 0
Регистрация: 14.09.2022
Сообщений: 87
|
|
17.12.2023, 13:37 [ТС] | 16 |
Вот что в результате получилось: прикрепил к сообщению
[delete]
0
|
17.12.2023, 13:37 | |
17.12.2023, 13:37 | |
Помогаю со студенческими работами здесь
16
Оператор Собеля. Реализация С++ Реализация фильтра Габора в С++ Реализация фильтра в QSortFilterProxyModel реализация медианного фильтра Реализация фильтра на чекбоксах Реализация БИХ-фильтра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |