Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
расп обр / расп обр / Задания / Лабораторна робота1.doc
Скачиваний:
22
Добавлен:
10.02.2016
Размер:
42.5 Кб
Скачать

Полутоновые изображения

Полутоновое изображение — это матрица, элементы яркости которой представ­лены в виде числовых значений. Если элементы полутонового изображения при­надлежат классу uint8 или uintl6, то они представлены целыми числами, со­ответственно, в интервалах [0.255] и [0,65535]. Если изображение принадлежит классу double, то его пикселы являются вещественными числами с плавающей запятой. По общему соглашению, пикселы изображений double должны лежать в интервале [0,1].

Функции для конвертации цветных изображений:

Имя

Преобразует в

Допустимый класс

im2uint8

uint8

logical,uint8,uintl6,double

im2uintl6

uintl6

logical,uint8,uint16,double

mat2gray

double (в область [0,1])

double

im2double

double

logical,uint8,uintl6,double

im2bw

logical

uint8,uint16,double

Функция im2uint8 обнуляет все отрицатель­ные значения входного изображения, ставит число 255 на место величин, боль­ших 1, и умножает остальные значения на 255, после чего округляет результат до ближайшего целого числа.

Преобразование произвольных массивов double в перенормированные масси­вы (изображения) double со значениями в интервале [0,1] выполняется с помо­щью функции mat2gray, имеющий следующий синтаксис:

g = mat2gray(A, [Amin, Amax]) ,

где изображение g имеет значения пикселов в интервале от 0 (белый) до 1 (чер­ный). Параметры Amin и Amax имеют следующее действие: все элемен­ты, меньшие Amin, обнуляются, а все элементы, большие Amax, заменяются на 1.

При выполнении команды

>> g = mat2gray(A) ;

значения Amin и Amax — это настоящие максимум и минимум массива А. Предпо­лагается, что входной массив из класса double. Выходной массив также принад­лежит классу double.

Функция im2double преобразует входной массив в класс double. Если входной массив был из класса logical,uint8 или uint 16, то функция im2double преоб­разует его в класс double с диапазоном [0,1]. Если входной массив был класса double, то функция im2double оставляет его без изменений.

Функция im2bw, имеющая синтаксис g = im2bw(f, Т) порождает двоичное изображение g из полутонового изображения f, используя порог Т. Значения всех элементов f, меньших Т, становятся логическим 0, а все остальные — логическими 1. Значение порога Т должно находиться в интерва­ле [0,1] независимо от класса входного изображения. Выходной массив авто­матически делается логическим.

Индексирование векторов

Запись

>> v(:) генерирует вектор-столбец;

>> v(l:end) дает вектор-строку

>> v(l:2:end) начать с 1, считать с шагом 2 и остановить­ся, когда счетчик достигнет последнего элемента

>> v(end:-2:l) счетчик индексов начинается от последнего элемента, уменьшается на каж­дом шаге на 2 и останавливается, достигнув первого элемента

Функция linspace, имеющая синтаксис

х = linspace(а, Ь, n) ,

порождает вектор-строку х из n элементов, расположенных на равных расстоя­ниях на отрезке от числа а до числа Ь, включая их самих.

» А = [123; 456; 789]

Слово end можно использовать аналогично векторному индексированию.

>> A(end, end)

ans = 9

>> A (end, end - 2)

ans = 7

>> A(2:end, end:-2:1)

ans = 6 4

9 7

>> s = sum(A(:)) нахождение суммы всех элементов числовой матрицы.

>> k = size(A, 1) сообщает размер матрицы А по первому измерению, т.е. выдает число строк матрицы А

>> size (А, 2) сообщает число столбцов матрицы.

- Функция zeros(M.N) генерирует матрицу MxN из одних нулей класса double.

- Функция ones(M.N) генерирует матрицу MxN из одних единиц класса double.

- Функция true (M,N) строит логическую матрицу MxN из единиц (истина).

- Функция false(M,N) строит логическую матрицу MxN из нулей (ложь).

- Функция magic (М) порождает «магический квадрат» МхМ. В этой квад­ратной матрице суммы чисел по любой строке, по любому столбцу и по главным диагоналям равны между собой.

- Функция rand(M,N) генерирует матрицу MxN, элементами которой явля­ются нормально распределенные (гауссовы) случайные величины со сред­ним 0 и с дисперсией 1.