Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006), страница 11
Описание файла
DJVU-файл из архива "Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде Matlab (2006)", который расположен в категории "". Всё это находится в предмете "системы распознавания образов" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 11 - страница
2.6, д) приведен график средней линии изображения 1, построенный командой » р1оС(1(512,:)) Функция р1ос подробно рассматривается в з 3.3,1, о 2.8.3. О размерности массивов Операции вида орвгае1оп(А, 61ш) часто используются в книге. Здесь орегас1оп обозначает некоторую функцию МАТЮКАВ, А — какой-то массив, а 61ш — некоторый скаляр. Например, пусть А матрица размера ЛХхХ. Команда » 1с = вйяе(А, 1); сообщает размер матрицы А по первому измерению, которое называется в МАТ1,АВ вертикальной размерностью.
Т.е. зта команда выдает число строк матрицы А. Аналогично, второе измерение массива называется горизонтальной размерностью, т. е. команда вйяе(А, 2) сообщает число столбцов матрицы. Размерность с)1ш, для которой в1яв(А, 61ш) = 1, называется тпочечной размерностью. Используя эти понятия, можно записать последнюю команду из примера 2.5 в следующем виде: » р1ос(Х(вйяе(1, 1)/2,:)) МАТЮКАВ не устанавливает ограничений на число размерностей массивов, что является полезным свойством системы. В книге мы имеем дело, в основном, с двумерными массивами, однако бывают случаи (например, при работе с цветными изображениями или с изображениями в нескольких спектрах), когда бывает необходимо вукладывать» изображения вдоль третьего или еще болыпего измерения.
Такие случаи будут рассматриваться в гл. 6, 11 и 12. Функция пЖш с синтаксисом о = по1шв (А) возвращает число размерностей массива А. Эта функция всегда имеет значения не меньше, чем 2, так как считается, что даже скаляры имеют размерность 2, в том смысле, что их размер — это 1х1. 2.9. Некоторые важные стандартные массивы Часто при исследовании конкретных алгоритмов полезно уметь строить простые массивы для проверки идей и для тестирования разрабатываемых функций.
В зтом параграфе рассматриваются семь стандартных функций, генерирующих некоторые специальные массивы, которые будут использоваться в следующих главах. Если аргументом рассматриваемых далее функций является одно число, то результатом является квадратный массив. В....., ... »-»„,.г ДЗ вЂ” Функция иегов(И,И) генерирует матрицу МхХ из одних нулей класса доцЫе.
— Функция спев(И,И) генерирует матрипу МхХ из одних единиц класса боп51е. Функция стае(И, И) строит логическую матрипу М хХ из единиц (истина). Функция та1ве(И„И) строит логическую матрицу МхХ из нулей (ложь). Функция ша51с(И) порождает «магический квадрат» МхМ. В этой квадратной матрице суммы чисел по любой строке, по любому столбцу и по главным диагоналям равны межлу собой. Магические квадраты бывают полезными при тестировании, т.к.
их легко строить и их элементами служат целые числа. Функция гапд(И,И) генерирует матрицу МхХ, элементами которой являются нормально распределенные (гауссовы) случайные величины со средним 0 и с дисперсией 1. Например, » А = 5*спев(3,3) » шаййс(3) 8 1 б 3 5 7 4 9 2 » В = гыи$(2, 4) 0.2311 0.4860 0.7621 0.0185 0.6068 0.8913 0.4565 0.8214 2.10.
Введение в программирование М-функций Важнейшая отличительная черта пакета обработки изображений 1РТ состоит в том, что в нем реализован прозрачный доступ к среде программирования МАТЬАВ. Как скоро будет видно, программирование функций МАТЬАВ является достаточно гибким и его легко освоить для практических применений. (н г о.об с м,ив 2.1[3.1. М-файлы Так называемые М-файла~ являются или просто скриптами, т. е.
состоят из последовательностей исполняемых команд МАТ[ АВ, или они являются функциями, которые допускают использование аргументов и могут иметь выходные данные. В этом параграфе мы займемся именно функциями. Эти функции расширяют возможности МАТ[ АВ и [РТ для выполнения специфических приложений, нужных конкретным пользователям. М-файлы создаются в текстовом редакторе и сохраняются под именем г 11епаше . ш, например, аоегаяе.ш или Шсег.ш. Функции, задаваемые в М-файлах, состоят из следующих компонент: — заголовок функции; — п1-строка; — текст справки; — тело функции; — комментарии. Заголовок функции имеет вид 1ввссуоп [опсрисв3 = паше[[ириса), Например, функция, которая вычисляет сумму и произведение (т.е, она имеет два разных выходных параметра) двух изображений, может иметь следующий вид: йвпссйоп [в, р3 = вошргой[1, я), где 1 и я — это два входных изображения, в — это их сумма, а р — произведение.
Имя функции ввшргоа может быть произвольным, но слева от него обязательно должно стоять слово Хппспйоп. Обратите внимание на то, что выходные аргументы заключены в квадратные скобки. Если функция имеет единственный выходной параметр, то его можно не заключать в квадратные скобки. Если определяемая функция не имеет выходных аргументов, то ставится одно слово йшсс1оп без квадратных скобок и знака равенства. Имя функции должно начинаться с буквы, а остальные символы могут быть буквами, цифрами или знаками подчеркивания. Пробелы в имени функции не допускаются. МАТ[ АВ различает в начале имени функции 63 символа.
Остальные символы игнорируются. Функцию можно вызвать в командной строке после системного приглашения, например, )) [в,р3 = вшпргой[1, я); а кроме того, функции могут являться элементами других функций, в этом случае они становятся подфункциями. Как уже отмечалось, если функция возвращает только один аргумент, то квадратные скобки можно опускать, например, )) у = ваш [х); Н1-строка — это первая текстовая строка функции. Она является первой строкой комментария, который следует за заголовком функции.
Между этой а О В 1 .«-Ф ?у» строкой и заголовком не должно быть пустых строк. Примером Н1-строки может служить следующая строка; '/ БОИРй00 вычисляет сумму и произведение двух изображений. В э 1.7.3 указывалось, что Н1-строка отображается первой на экране, если поль- зователь дает команду )) пе1р йшсе?оп паше В том же параграфе говорилось, что команда 1оо?сйог ?сеуыого выводит на экран все Н1-строки, в которых содержится последовательность символов кеуыогс?. Таким образом, Н1-строка несет важные сведения о данном М-файле, поэтому она должна быть максимально информативной.
Текст спраеки является текстовым блоком, который размещается сразу после Н1-строки без разделения пустой строкой. Текст справки используется для отображения комментариев и онлайновой справки по данной функции. Если пользователь набирает в командной строке после приглашения ?»е1р йш»се?оп паше, то МАТЬАВ выдает на экран все комментарии, расположенные между заголовком функции и первой строкой, не являющейся комментарием (это или пустая строка, или первая исполняемая строка данной функции). Справочная система игнорирует любые комментарии., которые могут стоять после блока справки функции. Тело функции состоит из выполняемого кода МАТЬАВ, который совершает некоторые действия или вычисления и присваивает определенные результаты выходным аргументам.
Далее в этой главе приводятся некоторые примеры исполняемого кода МАТ?,АВ. Все строки, перед которыми стоит символ «'/» и которые не являются Н1- строками или не входят в блок справки, рассматриваются в качестве строк комменгаарил функции. Они не считаются частью справочной системы. Разрешается также ставить комментарии в конце исполняемых команд. М-файлы можно создавать и править в любом текстовом редакторе, сохранив их с расширением .ш в соответствующей папке, для которой обычно указывают путь поиска. Удобно также работать с М-файлами с помощью команды еа?Е, которая позволяет их создавать и редактировать. Например, » еп1е впшргоп открывает для редактирования файл випргоа, если он существует в рабочей папке или в папке, описанной в пути поиска МАТЬАВ.
Если файл с таким именем там не обнаруживается, то МАТЬАВ дает возможность пользователю создать новый файл. Как подчеркивалось в э 1.7.2, окно редактора МАТ? АВ имеет несколько ниспадающих меню для выполнения действий типа: сохранить, посмотреть и отладить файлы. Этот редактор делает некоторые простейшие синтаксические проверки и выделяет разными цветами различные элементы программного кода, поэтому он весьма удобен для работы с М-файлами и его всегда рекомендуют в качестве полезного системного инструмента. (»$6 Глава 2. Цнфрввие изображения в МАТЬАВ 2.10.2. Операторы Операторы МАТЬАВ разделены на три основные категории; арифметические операторы, совершающие стандартные арифметические действия; операторы сравнения, которые сравнивают операнды количественно; логические операторы, которые выполняют действия И, ИЛИ и НЕ.
Рассмотрим каждую из этих категорий отдельно. Арифл«ети «еские операторы В МАТЬАВ имеется два различных типа арифметических операторов. Машричпые арифметические операторы определяются по правилам линейной алгебры. А рифмегпические операторы с массивами выполняются поэлементно, и их можно применять к многомерным числовым массивам. Для различения этих двух типов операторов используется символ точка (.).