Моделирование в системе MATLAB. Часть 1. Основы работы в MATLAB. Терёхин В.В. - 173 стр.

UptoLike

Составители: 

171
красного цвета, надо всего лишь воспользоваться присваиванием
red_plane = A.red;
Матричная организация имеет преимущества при работе со
множеством изображений, когда эти изображения можно накопить в
виде массивов A(2), A(3), ….. , содержащих целые образы.
Недостаток такой организации очевиден, когда требуется по-
лучить доступ к подмассиву массива цветов. Для того чтобы получить
доступ к подобразу, необходимо получить
доступ к определенным
участкам поля структуры, например, таким
red_sub = A.r(2:12, 13:30);
grn_sub = A.g(2:12, 13:30);
blue_sub = A.b(2:12, 13:30);
Поэлементная организация. В этом случае определение от-
дельных элементов данных реализуется в виде циклов
for i = 1:size(RED, 1)
for j = 1:size(RED, 2)
B(i, j).r = RED(i, j);
B(i, j).g = GREEN(i, j);
B(i, j).b = BLUE(i, j);
end
end
При такой организации доступ к подмножеству данных мо-
жет быть выполнен с помощью оператора присваивания
Bsub = B(1:10,1:10); .
Однако, чтобы получить доступ к
матрице, требуется организовать
цикл:
red_plane = zeros(128, 128);
for i = 1:(128*128)
red_plane(i) = B(i).r;
end
Поэлементная организация - не лучший выбор для приложе-
ний, связанных с обработкой изображений; однако он может оказать-
ся предпочтительным, когда необходим доступ к отдельным участкам
полей. Следующий пример демонстрирует преимущества такого под-
хода (рисунки 6.7 и 6.8).
Пример. Рассмотрим следующие два варианта организации
базы данных. Каждая из
них имеет свои преимущества и недостатки:
красного цвета, надо всего лишь воспользоваться присваиванием
          red_plane = A.red;
        Матричная организация имеет преимущества при работе со
множеством изображений, когда эти изображения можно накопить в
виде массивов A(2), A(3), ….. , содержащих целые образы.
        Недостаток такой организации очевиден, когда требуется по-
лучить доступ к подмассиву массива цветов. Для того чтобы получить
доступ к подобразу, необходимо получить доступ к определенным
участкам поля структуры, например, таким
          red_sub = A.r(2:12, 13:30);
          grn_sub = A.g(2:12, 13:30);
          blue_sub = A.b(2:12, 13:30);

       Поэлементная организация. В этом случае определение от-
дельных элементов данных реализуется в виде циклов

         for i = 1:size(RED, 1)
            for j = 1:size(RED, 2)
               B(i, j).r = RED(i, j);
               B(i, j).g = GREEN(i, j);
               B(i, j).b = BLUE(i, j);
            end
          end
        При такой организации доступ к подмножеству данных мо-
жет быть выполнен с помощью оператора присваивания
         Bsub = B(1:10,1:10); .
Однако, чтобы получить доступ к матрице, требуется организовать
цикл:
         red_plane = zeros(128, 128);
         for i = 1:(128*128)
           red_plane(i) = B(i).r;
         end
        Поэлементная организация - не лучший выбор для приложе-
ний, связанных с обработкой изображений; однако он может оказать-
ся предпочтительным, когда необходим доступ к отдельным участкам
полей. Следующий пример демонстрирует преимущества такого под-
хода (рисунки 6.7 и 6.8).

        Пример. Рассмотрим следующие два варианта организации
базы данных. Каждая из них имеет свои преимущества и недостатки:




                                                              171