Главная » Все файлы » Просмотр файлов из архивов » Файлы формата DJVU » Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006)

Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006), страница 15

DJVU-файл Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006), страница 15 Системы распознавания образов (3630): Книга - 10 семестр (2 семестр магистратуры)Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006): Системы распознавания образов - DJVU, страница 15 (3630) - Студ2021-01-17СтудИзба

Описание файла

DJVU-файл из архива "Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006)", который расположен в категории "". Всё это находится в предмете "системы распознавания образов" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .

Просмотр DJVU-файла онлайн

Распознанный текст из DJVU-файла, 15 - страница

Векторизация циклов Под векторизацией программ подразумевается преобразование циклов Хог и ий11е в эквивалентные векторные и матричные операции. Как скоро станет ясно, векторизация может привести не только к существенному выигрышу по скорости вычислений, но и повысить «читаемость» программного кода. Надо потратить много времени, чтобы дать полное определение многомерной векторизации. Однако можно достаточно легко описать векторизацию, которая используется при обработке изображений. Начнем с простого примера. Предположим, что нам требуется вычислить одномерную функцию вида /(х) = Аз)п(х/2я) при х = О, 1, 2,..., М вЂ” 1. С помощью цикла Хог это можно сделать следующим образом; гог х = 1:М '/Аггау 1па1сев гп МАТЬАВ савпог Ье О. Х(х) = А«агп[[х-1)/[2«р1)); еш1 .

Однако эти действия можно выполнить значительно быстрее с помощью векто- ризации цикла, используя метод индексаш~ и в МАТЬАВ: х = О:М-1; Г = А«в1п(х/(2«р1)); В этом простейшем примере проиллюстрирован процесс общего одномерного индексирования. Если функция, которую необходимо вычислить, имеет две переменные, то оптимизация индексирования делается немного более хитроумно. В МАТ1 АВ имеется прямой путь для реализации двумерных вычислений с помощью функции шевййгЫ, которая имеет синтаксис [С, й) = шев1щгЫ(с, г) Эта функция преобразовывает область, обозначенную вектор-строками с и г, в массивы С и й, которые можно затем использовать при вычислении функций двух переменных и при построении трехмерных графиков поверхностей (заметим, что в функции шевЬйт16 столбцы перечисляются, в первую очередь, как на входе, так и на выходе функции).

Строки выходного массива С являются копиями вектора с, а столбцы выходного массива Я являются копиями вектора г. Пусть, к примеру, требуется сформировать двумерную функцию, элементами которой служат суммы квадратов значений координат х и у при х = О, 1, 2 и у = О, 1. Вектор т формируется из компонент координат по строке: т = [О 1 2]. Аналогично, вектор с формируется из компонент координат по столбцу: с = [О 13 (обратите внимание на то, что здесь г и с оба являются векторами-строками).

Подставляя эти два вектора в шевЬйг16, получаем следующий результат: » [С, й) = шевЬбгЫ[с, т) С = 0 1 0 1 0 1 0 0 1 1 0 1 Нужная нам функции получается командой » Ь = й."2 + С."2 которая приводит к результату Ь = 0 0 1 2 4 5 Размер матрицы Ь равен 1епяеЬ[к) х1епяеЬ(с) . Кроме того, заметим, например, что Ь(1,1) = й(1,1) 2 + С(1,1) "2. Итак, МАТ[,АВ автоматически индексирует Ь. В этом кроется потенциальный источник ошибок, когда О является координатой, поскольку, как многократно отмечалось, в МАТ[,АВ индексы не могут равняться нулю. Из этой простой иллюстрации видно, что при построении массива Ь МАТ[,АВ использует в вычислениях содержимое массивов й и С.

А индексы массивов Ь, й и С, как им положено, начинаются с 1. Достоинства такой схемы индексирования видны из следующего примера. Пример 2.13. Иллюстрация вычислительных преимуществ векторизации и введение функций хронометрирования ейс и ьос. В этом примере строится М-функция для сравнения двух реализаций вычисления следующего двумерного изображения с помощью цикла 1от и на основе приема векторизации; ,1 [х, у) = А вш(иох + псу) при х = О, 1, 2,..., М вЂ” 1 и у = О, 1, 2,..., Ю вЂ” 1. В этом нам помогут две функции хронометрирования ехс и Еос. (72 Глава и Цифроеие изображения е МАТ/АВ Входными переменными функции являются величины А,ие,ио, М и А/.

Выходными переменными служат изображения, построенные двумя этими методами (они должны быть идентичными), а также отношение времени, необходимое для выполнения этих действий в цикле Хог, ко времени, затрачиваемом по методу векторизации. Рещение состоит в следующей М-функции: Тппсс1оп [гс, Х, Е) = свобя1п(А, пО, нО, М, И) '/ТИООЯТИ Сошрагев 1ог 1оорв ня. нессог1хас1оп.

'/ ТЬе сошрат1яоп Ав Ьаяеб оп 1шр1ешепс1пй гЬе йшсс1опя '/ Х(х, у) = Автп(пОх + нОу) 1ог х = О, 1, 2,... М вЂ” 1 апб % у = О, 1, 2,... М вЂ” 1. ТЬе 1прпсв го гЬе 1ппсс1оп аге % М апб И апб сЬе сопясэпгя Ап гЬе Хппсг1оп. % ртгвг Ашр1ешепг пя1пЕ 1ог 1оорв.

гйс '/ Ягагг сйш1пЕ. 1от г = 1:М пОх = пОх(г — 1); Хот с= 1:М нОу = нОх(с — 1) усоппс = усоппг +1; Х(г, с) = Авйп(пОх + нОу); егк1 еш1 С1 = Гос '/ Епб Стш1пЕ. / Мои Ашр1ешепс пв1пя нестог1хас1оп. Са11 сЬе Ашапбе Е. С1с '/ Ятагс Г1шйпЕ. г = О:М вЂ” 1; с = 0:И вЂ” 1; (С, й] = шеяЬят1е1(с, г); Е = Ав1п(пОхй + нОхС); С2 = Гос '/ Епе) С1ш1пя. '/ Сошрпсе гйе таста о1 1Ье гио гйшев. гс = с1/(г2 + ерв); '/ Ояе ерв гп саве с2 Ав с1ове со О.

Вызывая эту функцию после приглашения МАТЬАВ, » (гг, 1, Я) = гвобв1п(1, 1/(4хр1), 1/(4хр1), 512, 612); получаем следующее значение гт: » тг тг = 34.2520 Теперь мы преобразуем полученное изображение (матрицы 1 и Е идентичны) к виду, удобному для отображения на экране монитора, с помощью функции шат2Егау; » Я = шаг2йгау(Я); Ы!б Вмд~ни ~ '.ч грамши~ ~вани .И ф~июпии 73) и и иь~ [ем сго иа ~кр ~н ком«ндорф з.пэйан ,ф„';„',:«"",: '". Ф '"-„"' Ф ",':~ "Д~'."~';,", --',";; '~:"~" ~";„,",'' ",; ~"«""",„; „' -'-'",~дЮ".;" ".;,",,"д ~~~74 Глава 2. Цифровые изображения е МАТЮКАВ Такое заполнение массивов позволяет также уменьшить фрагментацию памяти при работе с болыпими массивами. Память компьютера становится сильно фрагментированной при использовании процедур динамического распределения и освобождения памяти. В этом случае может иметься достаточно доступной физической памяти при выполнении вычислений, но может не хватить соседней памяти для сохранения только что вычисленной большой переменной.

Предварительное заполнение помогает исключить такие неприятности, позволяя системе МАТЕАВ зарезервировать достаточный объем памяти для больших массивов данных в самом начале вычислений. 2.10.5. Интерактивный ввод(вывод Часто бывает желательно написать М-функции в интерактивном видев, т. е. так, чтобы требуемая информация отображалась на дисплее и пользователь мог вводить нужные данные непосредственно с клавиатуры компьютера. В этом параграфе мы разберем некоторые основные приемы при написании таких функций.

Функция 41вр применяется для отображения информации на экране дисплея. Она имеет следующий синтаксис: с)1вр (агбишпеС) . Если агяшнпеС является массивом, то 41вр показывает его содержимое. Если с(1вр является текстовой строкой, то с)1вр отображает на экране последовательность символов этой строки. Например, » А= (12; 34]; с)1вр(А); 1 2 3 4 » вс = 'И31Са1 1шабе Ргосевв1пя.'; » с)1вр(вс); ()1я1Са1 1шайе Ргосевв1пй. » с)1вр('ТЫв 1в апоспег иау Со ййвр1ау Сехс.'); ТЫв 1в апоСЬег иау Со ййвр1ау Сехс. Заметим, что на экране отображается только содержимое переменной агяишпес без вывода слов типа апв =, которые мы привыкли видеть на экране, когда значение переменной появляется на экране при отсутствии в конце команды символа точка с запятой.

Функция гпрпс применяется при вводе данных в М-функцию. Ее синтаксис имеет вид С = 1прпС('шевваяе') Эта функция выводит на экран слова, содержащиеся в шевваяе, а затем ожидает ввода данных пользователем, в конце которых следует нажать клавишу Епсег, после чего она сохраняет введенные данные в переменной с. Входные данные могут быть одним числом, строкой символов (заключенных в апострофы), вектором См.

Приложение Б, посвященное созданию графических интерфейсов пользователя (СШ). й О В..ь...,.. ., . . м э .. Д (элементы которого разделяются пробелами, и все они окружены квадратными скобками), матрицей (строки которой разделяются символами точка с запятой, и все они окружены квадратными скобками) или любой другой структурой данных, разрешенной в МАТ[ АВ. При выполнении команды С = 1црцС('шевваяе', 'в') выдается содержимое шевваяе, а вход рассматривается как символьная строка, элементы которой могут быть разделены запятыми или пробелами. Эта форма ввода данных является достаточно гибкой, так как позволяет вводить отдельные символы.

Если предполагается, что вводимая строка (которая состоит нз цифровых символов) будет числом, то ее можно конвертировать в число класса боцЬ1е с помощью функции вст2ццше, которая имеет синтаксис и = вст2тпнп(С) Например, С = 1прцС('Епсег уоцт баса: ', 'в') Епсет уоцг с(аса: 1, 2, 4 1 2 4 » с1авв(С) сйаг » е1хе(С) ацв 1 5 » и = вст2пцш(С) 1 2 4 » втхе(п) ацв 1 3 » с1авв(п) боцЬ1е Итак, мы видим, что с — это символьный массив размера 1х5 (три цифры и два пробела между ниии), а ц — это числовой вектор размера 1 х3 класса доцЬ1е. Если входные данные являются смешанными, т.

е. состоят из символьных и числовых данных, то можно использовать одну из функций МАТ[АВ для обработки строк символов. Особый интерес в этом плане представляет функция всттеаб, которая имеет следующий синтаксис: [а, Ь, с, ...] = вСттеай(свст, '1отшаС', 'ратвш', 'ца1це') еСм. в 1 12.4 детальное обсуждение операций над строками. См. справочную страницу функции всттевф где приводятся разные синтаксические формы, применяемые в этой функции. ~~~76 Глава 2.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5302
Авторов
на СтудИзбе
416
Средний доход
с одного платного файла
Обучение Подробнее