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

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

Шаг 1: считайте и отобразите изображение

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

I = imread('pout.tif');

Отобразите изображение, с помощью imshow функция. Можно также просмотреть изображение в приложении Image Viewer. imtool функция открывает приложение Image Viewer, которое представляет интегрированную среду для отображения изображений и выполнения некоторых общих задач обработки изображений. Приложение Image Viewer предусматривает все возможности отображения изображений imshow но также и обеспечивает доступ к нескольким другим инструментам для навигации и исследования изображений, таких как полосы прокрутки, инструмент Pixel Region, инструмент Image Information и инструмент Contrast Adjustment.

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, и интерактивные инструменты, такие как инструмент Adjust Contrast, доступный в Image Viewer.)

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: []