Мне нужен быстрый способ выполнить пороговое значение для областей изображения (матрицы). Входной сигнал представляет собой матрицу (изображение), пороговое значение и радиус, для каждого пикселя. Мне нужно проверить, меньше ли всех значений в пределах данного радиуса, если это так, мне нужно сохранить координаты этого значения (пикселя). Я не хочу делать это с двойными циклами, потому что мне нужно выполнить эту задачу много раз с несколькими радиусами. Я не забочусь о минималях или максимах, так что все значения вокруг пикселя будут ниже некоторого порога. Любая идея будет очень оценена!пороговые значения в матрице matlab
ответ
Я не знаю быстрого алгоритма для круговой окрестности. Тем не менее, если у вас есть есть прямоугольная окрестность, вы можете реализовать чеку очень быстрый взгляд на здесь для более подробной информации: http://leetcode.com/2011/01/sliding-window-maximum.html
Кроме того, вы можете imporve вам скорость, когда вам, когда у вас есть несколько значений радиуса. Просто начните с наименьшего значения и вычислите результат. Для будущих значений радиуса, если точка не проходила с одного из предыдущих шагов, не обрабатывайте ее, существует точка меньшего радиуса (так в текущем радиусе), которая больше порога.
Привет, я не знал о пороге, он может измениться с радиусом, поэтому я не могу сэкономить тест на пиксель, который не «прошел» с предыдущего уровня. Я думал о создании маски размера изображения, только с текущим окном (я могу создать круг в квадратном окне, например, здесь: http://www.mathworks.com/matlabcentral/answers/24609 , и просто проверьте, меньше ли сумма изображения. * маска меньше порога. * mask. Я просто не знаю, как избежать цикла в этом случае. – matlabit
Таким образом, вам просто нужно определить круговой фильтр, а затем использовать conv2 или filter2, чтобы запустить вычисление суммы (Matlab внутренне использовал FFT, так что это быстрее, чем реализация вложенного цикла). – iampat
Привет, спасибо, вот что я сделаю, отредактируйте свой ответ (с комментарием), и я его приму. – matlabit
- 1. Различные пороговые значения в матрице
- 2. Выберите определенные значения в матрице в MATLAB
- 3. Matlab -Выберите конкретные значения в матрице
- 4. Matlab заменяющие значения в символическом матрице
- 5. Пороговые значения для двоичной фильтрации
- 6. Отбросить элементы в матрице matlab
- 7. Целевые пороговые значения KPI в PerformancePoint 2010
- 8. динамические пороговые значения в highchart - arearange
- 9. Matlab: найти значение в матрице
- 10. Matlab: Элементы тега в матрице
- 11. MATLAB присваивает рангу значения в матрице в порядке возрастания/убывания
- 12. Как рассчитать результат для каждого значения в матрице в MATLAB
- 13. Добавьте один для каждого значения в матрице в Matlab
- 14. Команда использовать пороговые значения из упорядоченного пробита
- 15. Веб-приложение + триггеры/пороговые значения SQL-сервера
- 16. динамически выбирает пороговые значения из sql
- 17. Пороговые значения для обнаружения объекта альт-джона
- 18. Изменение значений в матрице в MATLAB
- 19. Matlab Хаффман Кодирование в матрице
- 20. Выполнение конкатенации в матрице MATLAB
- 21. Удалить строку в матрице Matlab
- 22. Частота элементов в матрице - Matlab
- 23. Вектор к матрице в matlab
- 24. Замена строк в матрице (Matlab)
- 25. Количество строк в матрице - Matlab
- 26. присвоение координат матрице в MATLAB
- 27. Доступ к матрице в Matlab
- 28. Индексация дубликаты в матрице: Matlab
- 29. matlab - количество вхождений в матрице
- 30. найти слова в матрице matlab
Вы можете выполнить дилатацию с помощью кругового структурирующего элемента, за которым следует тривиальное пороговое значение в полученном изображении. Поскольку вопрос помечен как «matlab», я думаю, вы не заинтересованы в том, чтобы ускорить расширение, просто ожидая, что «matlab» даст достаточно быстрый результат. Если вас это интересует, то есть достойная работа по разложимости и связанным с ней способам повышения эффективности морфологических операций. – mmgp