В этом примере показано, как считать изображение в рабочую область, настройте контраст в изображении, и затем запишите откорректированное изображение в файл.
Считайте изображение в рабочую область, с помощью 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/BR2020ad_1302590_239645/mlx_to_docbook24/tp50a60e34/images-ex89505080/pout2.png'
FileModDate: '29-Jan-2020 15:45:59'
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: '29 Jan 2020 20:45:59 +0000'
Title: []
Author: []
Description: []
Copyright: []
CreationTime: []
Software: []
Disclaimer: []
Warning: []
Source: []
Comment: []
OtherText: []