exponenta event banner

Импорт, обработка и экспорт основных изображений

В этом примере показано, как прочитать изображение в рабочей области, настроить контрастность изображения, а затем записать скорректированное изображение в файл.

Шаг 1: Чтение и отображение изображения

Чтение изображения в рабочую область с помощью imread команда. В примере считывается одно из образцов изображений, включенных в набор инструментов, изображение молодой девушки в файле с именем pout.tif и сохраняет его в массиве с именем I . imread выводит из файла, что формат графического файла имеет значение «Формат файла изображения с тегами» (TIFF).

I = imread('pout.tif');

Отображение изображения с помощью imshow функция. Также можно просмотреть изображение в приложении «Просмотр изображений». imtool функция открывает приложение Image Viewer, представляющее интегрированную среду для отображения изображений и выполнения некоторых общих задач обработки изображений. Приложение Image Viewer предоставляет все возможности отображения изображений: imshow но также предоставляет доступ к нескольким другим инструментам навигации и просмотра изображений, таким как полосы прокрутки, инструмент «Пиксельная область», инструмент «Информация об изображении» и инструмент «Настройка контрастности».

imshow(I)

Figure contains an axes. The axes contains an object of type image.

Шаг 2: Проверка отображения изображения в рабочей области

Проверьте, как imread функция сохраняет данные изображения в рабочей области, используя whos команда. Можно также проверить переменную в браузере рабочего пространства. imread функция возвращает данные изображения в переменной I , который является массивом элементов 291 на 240 uint8 данные.

whos I
  Name        Size             Bytes  Class    Attributes

  I         291x240            69840  uint8              

Шаг 3: Улучшение контрастности изображения

Просмотр распределения интенсивности пикселей изображения. Изображение pout.tif является несколько низким контрастным изображением. Чтобы увидеть распределение интенсивностей в изображении, создайте гистограмму, вызвав imhist функция. (Перед вызовом imhist с помощью команды figure, чтобы гистограмма не перезаписывала отображение изображения I в текущем окне рисунка.) Обратите внимание, что гистограмма показывает, что диапазон интенсивности изображения довольно узкий. Диапазон не охватывает потенциальный диапазон [0, 255] и пропускает высокие и низкие значения, которые могут привести к хорошей контрастности.

figure
imhist(I)

Figure contains 2 axes. Axes 1 contains an object of type stem. Axes 2 contains 2 objects of type image, line.

Улучшение контрастности изображения с помощью histeq функция. Выравнивание гистограммы расширяет значения интенсивности по всему диапазону изображения. Отображение изображения. (Панель инструментов включает несколько других функций, выполняющих корректировку контрастности, включая imadjust и adapthisteqи интерактивные инструменты, такие как инструмент «Настройка контрастности», доступный в средстве просмотра изображений.)

I2 = histeq(I);
figure
imshow(I2)

Figure contains an axes. The axes contains an object of type image.

Позвоните в imhist снова для создания гистограммы выровненного изображения I2 . При сравнении двух гистограмм можно увидеть, что гистограмма I2 более распределен по всему диапазону, чем гистограмма I .

figure
imhist(I2)

Figure contains 2 axes. Axes 1 contains an object of type stem. Axes 2 contains 2 objects of type image, line.

Шаг 4: Запись скорректированного образа в файл диска

Запись нового скорректированного изображения I2 в файл диска, используя imwrite функция. Этот пример включает расширение имени файла '.png' в имени файла, поэтому imwrite функция записывает изображение в файл в формате PNG, но можно указать другие форматы.

imwrite (I2, 'pout2.png');

Шаг 5: Проверка содержимого нового файла

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

imfinfo('pout2.png')
ans = struct with fields:
                  Filename: '/tmp/BR2021ad_1655202_180016/mlx_to_docbook2/tp22e0234f/images-ex89505080/pout2.png'
               FileModDate: '21-Apr-2021 02:03:37'
                  FileSize: 36938
                    Format: 'png'
             FormatVersion: []
                     Width: 240
                    Height: 291
                  BitDepth: 8
                 ColorType: 'grayscale'
           FormatSignature: [137 80 78 71 13 10 26 10]
                  Colormap: []
                 Histogram: []
             InterlaceType: 'none'
              Transparency: 'none'
    SimpleTransparencyData: []
           BackgroundColor: []
           RenderingIntent: []
            Chromaticities: []
                     Gamma: []
               XResolution: []
               YResolution: []
            ResolutionUnit: []
                   XOffset: []
                   YOffset: []
                OffsetUnit: []
           SignificantBits: []
              ImageModTime: '21 Apr 2021 06:03:37 +0000'
                     Title: []
                    Author: []
               Description: []
                 Copyright: []
              CreationTime: []
                  Software: []
                Disclaimer: []
                   Warning: []
                    Source: []
                   Comment: []
                 OtherText: []