реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Реализация медианного фильтра
BAMBINATOR
сообщение May 14 2009, 17:56
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 14-05-09
Пользователь №: 49 083



Добрый день, помогите пожалуйсто реализовать одномерный пятиотсчетный медианный фильтр с использованием NIOS II для обработки изображений с импульсными помехами. Может у кого-нибудь есть примеры кода?
Go to the top of the page
 
+Quote Post
Джеймс
сообщение May 14 2009, 19:05
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Цитата(BAMBINATOR @ May 14 2009, 21:56) *
Добрый день, помогите пожалуйсто реализовать одномерный пятиотсчетный медианный фильтр с использованием NIOS II для обработки изображений с импульсными помехами. Может у кого-нибудь есть примеры кода?


В смысле, для real-time video, или для статической картинки? Я конечно не знаю, насколько далеко вперед ушел NIOS по производительности и на какой частоте он у вас работает, но он вряд ли справится. А если уж FPGA есть, то почему не сделать прямо на FPGA?
Go to the top of the page
 
+Quote Post
MAXvaLL
сообщение May 15 2009, 10:10
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 26-12-07
Пользователь №: 33 639



Цитата(BAMBINATOR @ May 14 2009, 21:56) *
Добрый день, помогите пожалуйсто реализовать одномерный пятиотсчетный медианный фильтр с использованием NIOS II для обработки изображений с импульсными помехами. Может у кого-нибудь есть примеры кода?

А в чем проблемы?
Берете N отсчетов (размер и форма апертуры не принципиальна), сортируете их по возрастанию/убыванию любым из извесных вам быстрых алгоритмов сортировки, потом берете из этих отсортированных отсчетов средний. Все.
Каждая компонента цвета обрабатывается отдельно.
Go to the top of the page
 
+Quote Post
Oldring
сообщение May 15 2009, 11:57
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(MAXvaLL @ May 15 2009, 14:10) *
любым из извесных вам быстрых алгоритмов сортировки, потом берете из этих отсортированных отсчетов средний. Все.


Вот "быстрых алгоритмов" на пяти отсчетах - не нужно.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
MAXvaLL
сообщение May 15 2009, 13:04
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 26-12-07
Пользователь №: 33 639



Цитата(Oldring @ May 15 2009, 15:57) *
Вот "быстрых алгоритмов" на пяти отсчетах - не нужно.

А почему нет?! Они ничем не хуже будут, однозначно.
Тем более я говори в общем случае, про N отсчетов.
Тем более возможно имелось ввиду 5х5
Go to the top of the page
 
+Quote Post
Oldring
сообщение May 15 2009, 14:16
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(MAXvaLL @ May 15 2009, 17:04) *
А почему нет?! Они ничем не хуже будут, однозначно.


Однозначно будут хуже. В них на коротких длинах осуществляется переход на медленные алгоритмы wink.gif Ну и в лоб реализованный прямо по месту пузырек будет однозначно быстрее библиотечного qsort.

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


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
MAXvaLL
сообщение May 15 2009, 16:17
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 26-12-07
Пользователь №: 33 639



Цитата(Oldring @ May 15 2009, 18:16) *
Однозначно будут хуже. В них на коротких длинах осуществляется переход на медленные алгоритмы wink.gif Ну и в лоб реализованный прямо по месту пузырек будет однозначно быстрее библиотечного qsort.

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

А кто сказал что нужно пользовать какие-то стремные библиотечные? Насколько я помню, по объему кода они примерно одинаковы.
Кто мешает самому реализовать?!

Поясните, что вы имели ввиду, говоря про 1 проход и запихивание/выкидывание.
Go to the top of the page
 
+Quote Post
Oldring
сообщение May 15 2009, 16:21
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(MAXvaLL @ May 15 2009, 20:17) *
Поясните, что вы имели ввиду, говоря про 1 проход и запихивание/выкидывание.


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

Цитата(MAXvaLL @ May 15 2009, 20:17) *
А кто сказал что нужно пользовать какие-то стремные библиотечные? Насколько я помню, по объему кода они примерно одинаковы.
Кто мешает самому реализовать?!


Ну так реализуйте и сравните реальную скорость.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
MAXvaLL
сообщение May 15 2009, 16:26
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 26-12-07
Пользователь №: 33 639



Цитата(Oldring @ May 15 2009, 20:21) *
При одномерной фильтрации нужно из отсортированного списка удалить старый отсчет и добавить новый, сохранив список сортированным. Это можно сделать за один проход по списку, не сортирукя все отсчеты заново.



Ну так реализуйте и сравните реальную скорость.

Понял вашу идею. Это да, при одномерном.

Так реализовывал конечно, только не пробовал на малых длинах списка. Что, неужели медленее?!
Go to the top of the page
 
+Quote Post
Oldring
сообщение May 15 2009, 16:28
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(MAXvaLL @ May 15 2009, 20:26) *
Так реализовывал конечно, только не пробовал на малых длинах списка. Что, неужели медленее?!


Разумеется. Одно дело - асимптотика, другое - малые длины. На малых длинах важна константа, то есть простота.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 16 2009, 18:17
Сообщение #11


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(BAMBINATOR @ May 14 2009, 20:56) *
Добрый день, помогите пожалуйсто реализовать одномерный пятиотсчетный медианный фильтр с использованием NIOS II для обработки изображений с импульсными помехами. Может у кого-нибудь есть примеры кода?

Могу поделиться примером для реализации для ПЛИС на VHDL
Когда-то сам на основе предложенной реализации - реализовал фильтр 7х7
PS там описана реализация для окна 3х3 окна, но думаю преобразовать его в окно NxN не будет большой проблемой
Еще можете посмотреть у Xilinx xapp 953 "Two-Dimensional Rank Order Filter"(доступен пример на VHDL языке)
Прикрепленные файлы
Прикрепленный файл  Mediane_filter.rar ( 814.79 килобайт ) Кол-во скачиваний: 344
 


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 21:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.0147 секунд с 7
ELECTRONIX ©2004-2016