Этот пример показывает, как считать изображение в рабочую область, настроить контраст в изображении, и затем записать откорректированное изображение в файл.
Считайте изображение в рабочую область, с помощью команды 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)
Проверяйте, как функция imread
хранит данные изображения в рабочей области, с помощью команды whos
. Можно также проверять переменную в Браузер Рабочей области. Функция imread
возвращает данные изображения в переменной I
, которая является 291 240 массив элемента данных uint8
.
whos I
Name Size Bytes Class Attributes I 291x240 69840 uint8
Просмотрите распределение интенсивности пикселя изображения. Изображение pout.tif
является несколько низкоконтрастным изображением. Чтобы видеть распределение интенсивности в изображении, создайте гистограмму путем вызывания функции imhist
. (Предшествуйте вызову imhist
с командой figure так, чтобы гистограмма не перезаписывала отображение изображения I
в окне текущей фигуры.) Уведомление, как гистограмма указывает, что область значений интенсивности изображения является довольно узкой. Область значений не покрывает потенциальную область значений [0, 255], и пропускает высокие и низкие значения, которые привели бы к хорошему контрасту.
figure imhist(I)
Улучшите контраст в изображении, с помощью функции histeq
. Коррекция гистограммы распространяет значения интенсивности по полному спектру изображения. Отобразите изображение. (Тулбокс включает несколько других функций, которые выполняют контрастную корректировку, включая imadjust
и adapthisteq
и интерактивные инструменты, такие как инструмент Adjust Contrast, доступный в Image Viewer.)
I2 = histeq(I); figure imshow(I2)
Вызовите функцию imhist
снова, чтобы создать гистограмму компенсируемого изображения I2
. Если вы сравниваете эти две гистограммы, вы видите, что гистограмма I2
более распространена в целой области значений, чем гистограмма I
.
figure imhist(I2)
Запишите недавно откорректированному изображению I2
в дисковый файл, с помощью функции imwrite
. Этот пример включает расширение файла '.png'
в имя файла, таким образом, функция imwrite
пишет изображение в файл в формате Переносимой сетевой графики (PNG), но можно задать другие форматы.
imwrite (I2, 'pout2.png');
Просмотрите то, что imwrite
записал в дисковый файл, с помощью функции imfinfo
. Функция imfinfo
возвращает информацию об изображении в файле, таком как его формат, размер, ширина и высота.
imfinfo('pout2.png')
ans = struct with fields:
Filename: '/tmp/BR2019ad_1062519_57051/mlx_to_docbook20/tpd46cd2cd/images-ex89505080/pout2.png'
FileModDate: '21-Feb-2019 19:15:23'
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: '22 Feb 2019 00:15:23 +0000'
Title: []
Author: []
Description: []
Copyright: []
CreationTime: []
Software: []
Disclaimer: []
Warning: []
Source: []
Comment: []
OtherText: []