このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
イメージのインポート、処理およびエクスポートの基本
この例では、ワークスペースにイメージを読み取り、イメージのコントラストを調整した後、調整したイメージをファイルに書き込む方法を説明します。
手順 1: イメージの読み取りと表示
imread
コマンドを使用してイメージをワークスペースに読み取ります。この例では、ツールボックスに含まれるサンプル イメージのうち pout.tif
というファイル名の少女のイメージを読み取り、I
という配列に格納します。imread
は、このファイルからグラフィックス ファイル形式が TIFF (Tagged Image File Format) であると推測します。
I = imread('pout.tif');
関数 imshow
を使用してこのイメージを表示します。イメージはイメージ ビューアー アプリでも表示できます。イメージ ビューアー アプリは、関数 imtool
によって開き、イメージの表示と一般的なイメージ処理タスクを行うための統合環境が提供されます。イメージ ビューアー アプリは imshow
のイメージ表示機能をすべて備えているほか、スクロール バー、ピクセル領域ツール、イメージ情報ツール、コントラスト調整ツールなどイメージのナビゲートや確認のためのツールも備えています。
imshow(I)
手順 2: イメージがワークスペースにどのように表示されるかの確認
whos
コマンドを使用して、イメージ データが関数 imread
によりどのようにワークスペースに格納されているかを確認します。この変数はワークスペース ブラウザーで確認することもできます。関数 imread
は、変数 I
にイメージ データを返します。これは uint8
データの 291 行 240 列の要素で構成される配列です。
whos I
Name Size Bytes Class Attributes I 291x240 69840 uint8
手順 3: イメージ コントラストの改善
イメージのピクセル強度の分布を表示します。pout.tif
はコントラストが若干低いイメージです。イメージ内の強度の分布を見るには、関数 imhist
を呼び出してヒストグラムを作成します (関数 imhist
の呼び出しの前に Figure コマンドを挿入して、ヒストグラムが現在の Figure ウィンドウに表示されているイメージ I
を上書きしないようにします)。イメージの強度の範囲が狭いことがヒストグラムによって示されている点に注目してください。強度の範囲が最大範囲 [0, 255] を網羅しておらず、良好なコントラストをもたらす高い値と低い値が欠けています。
figure imhist(I)
イメージのコントラストを改善するには、関数 histeq
を使用します。ヒストグラム均等化を実行するとイメージの範囲全域に強度値が拡散されます。イメージを表示します。(このツールボックスには他にもいくつかのコントラスト調整機能があります。たとえば imadjust
、adapthisteq
、イメージ ビューアーにあるコントラスト調整ツールなどの対話型ツールです)。
I2 = histeq(I); figure imshow(I2)
関数 imhist
を再び呼び出して、均等化されたイメージ I2
のヒストグラムを作成します。2 つのヒストグラムを比較すると、I2
のヒストグラムが I
のヒストグラムより範囲全体に拡散していることがわかります。
figure imhist(I2)
手順 4: 調整したイメージのディスク ファイルへの書き込み
調整した新たなイメージ I2
をディスク ファイルに書き込むには、関数 imwrite
を使用します。この例ではファイル名にファイル名拡張子 '.png'
が含まれているため、関数 imwrite
はイメージを PNG (Portable Network Graphics) 形式でファイルに書き込みますが、他の形式を指定することもできます。
imwrite (I2, 'pout2.png');
手順 5: 新たに書き込んだファイルの内容の確認
imwrite
がディスク ファイルに書き込んだ内容を表示するには、関数 imfinfo
を使用します。関数 imfinfo
は、ファイル内のイメージに関する情報、たとえばイメージの形式、サイズ、幅、高さなどを返します。
imfinfo('pout2.png')
ans = struct with fields:
Filename: '/tmp/Bdoc22b_2089663_1262858/tp9872029b/images-ex89505080/pout2.png'
FileModDate: '10-Oct-2022 01:17:45'
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: '10 Oct 2022 05:17:45 +0000'
Title: []
Author: []
Description: []
Copyright: []
CreationTime: []
Software: []
Disclaimer: []
Warning: []
Source: []
Comment: []
OtherText: []