II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Вход
Раздел "Обработка сигналов и изображений\Image Processing Toolbox"

И.М.Журавель "Краткий курс теории обработки изображений"

В оглавление \ К следующему разделу \ К предыдущему разделу

Обнаружение вращений и масштабных искажений на изображении

Когда известна информация относительно искажений изображения, которые заключаются в вращении и изменении масштаба, тогда для обработки применяют функцию cp2tform. Эта функция служит для восстановления изображений.

Содержание:

  • Шаг 1: Считывание изображения.
    • Шаг 2: Изменение размеров изображения.
    • Шаг 3: Вращение изображения.
    • Шаг 4: Выбор контрольных точек.
    • Шаг 5: Предварительные преобразования.
    • Шаг 6: Определение масштаба и угла.
    • Шаг 7: Восстановление изображения. Шаг 1: Считывание изображения. Считаем изображение в рабочее пространство. I=imread('cameraman.tif'); imshow(I)
    • Шаг 2: Изменение размеров изображения.
      
      scale=0.6;
      J=imresize(I, scale); % Изменение масштаба.
      
      Шаг 3: Вращение изображения.
      
      theta=30;
      K=imrotate(J, theta); % Изменение угла.
      figure, imshow(K)
      
      Шаг 4: Выбор контрольных точек.
      
      Выберем контрольные точки с помощью Control Point Selection Tool.
      
      input_points=[129.87  141.25; 112.63 67.75];
      base_points=[135.26  200.15; 170.30 79.30];
      cpselect(K,I, input_points, base_points);
      
      Запишем контрольные точки, выбирая в меню File опцию Save Points to Workspace. 
      Также перезапишем переменные input_points и base_points.
      
      Шаг 5: Предварительные преобразования.
      
      Найдем структуру TFORM, которая согласуется с контрольными точками.
      
      t=cp2tform(input_points, base_points, 'linear conformal');
      
      После выполнения шагов 6 и 7, снова повторяются шаги 5-7, 
      только взамен опции 'linear conformal' используется 'affine'. 
      Это приводит к улучшению результатов.
      
      Шаг 6: Определение масштаба и угла.
      
      Структура TFORM содержит матрицу преобразований t.tdata.Tinv. 
      После того как стали известны типы искажений (вращение и масштабирование), 
      проводят операции по восстановлению масштаба и угла.
      
      Let sc=s*cos(theta)
      Let ss=s*sin(theta)
      Тогда, Tinv=t.tdata.Tinv=[sc -ss  0;
                                   ss  sc  0;
                                   tx  ty  1]
      где параметры tx и ty являются сдвигом по x и y соответственно.
      ss=t.tdata.Tinv(2, 1);
      sc=t.tdata.Tinv(1, 1);
      scale_recovered=sqrt(ss*ss+sc*sc)
      theta_recovered=atan2(ss, sc)*180/pi
      scale_recovered=
          0.6000
      theta_recovered=
         29.3699
      

      Итак, значение параметра scale_recovered находится в пределах 0.6, а значение параметра theta_recovered около 30.

      Шаг 7: Восстановление изображения.

      Для получения исходного изображения необходимо произвести обратные преобразования с использованием структуры TFORM. Также нужно знать размер исходного изображения.

      Разрешительная способность восстановленного изображения будет немного ниже, чем на исходном. Уменьшение информации, а также внесенные искажения на восстановленном изображении, в сравнении с исходным, являются следствием проведенных преобразований.

      D=size(I);
      recovered=imtransform(K, t, 'XData', [1 D(2)], 'YData', [1 D(1)]);
      % Сравнение восстановленного изображения и исходного.
      figure, imshow(I)
      title('исходное изображение')
      figure, imshow(recovered) 
      title('восстановленное изображение')
      

      В оглавление \ К следующему разделу \ К предыдущему разделу

    
    

О получении локальных копий сайтов
  Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail:    
  Информация на сайте была обновлена 11.05.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры