デジタル画像処理:実験-MATLAB画像処理の基礎

実験1MATLAB画像処理の基礎

MATLAB 具有强大的图像处理工具箱,有助于人们更好的理解各种图像处理算法,通 过调用工具箱中的函数,可以减少编程的复杂性,简化编程。本次实验主要掌握 MATLAB中的一些基本图像操作函数,包括图像的输入、显示、查看图像属性、改变大小、获取图像的统计信息、保存、多波段图像读写等功能,并进行简单的图像处理编程操作。

1.実験の目的

1.1。Matlab開発環境の理解をさらに強化します;
2。2.画像​​処理の関連機能を理解し、それらの使用法を習得します
。3。3.ファイル操作機能を理解してマスターします
4. matlabのヘルプコマンドを習得し、matlabのヘルプ関数の使用方法を学びます
matlabプログラミングの基本的な方法を習得し、プログラミングを通じて簡単な画像処理操作を実現します。

2.実験的根拠

1.画像処理関連機能
Matlabは、さまざまな画像処理機能を提供しています。表1に、いくつかの機能とその機能を示します。

imread
読み取り画像
imshow
画像表示
imwrite
保存画像
カラーバー
表示カラーバー
imfinfo
取得画像情報
サブ画像
表示画像
imresize
変更画像サイズ
imcrop
カット画像
imrotate
画像ズーム
imhist
表示画像ヒストグラム
平均
計算画像平均
ワープ
テクスチャマップ
std2
計算画像標準偏差
マルチバンド
読み取り読み取りマルチバンドバイナリ画像
corr2
は相関係数を計算します
multibandwrite
書き込みマルチバンドバイナリイメージ

2.ファイル操作関数
fopen
はファイルを開きます
fread
はバイナリファイルを読み取ります
fclose
はファイルを閉じます
fwrite
はバイナリファイルを書き込みます
fscanf
はテキストファイルを読み取ります
fprintf
はテキストファイルを書き込みます
feof
はポインタがファイルの最後にあるかどうかをテストします
fseek
はファイルを設定しますポインタ位置
frewind
は、ポインタをファイルの先頭にリセットします
ftellget
ファイルポインタ位置

3.画像のグレースケールヒストグラム
画像のグレースケールヒストグラムは、画像の各グレースケールピクセルの数または頻度を表す、グレースケールの関数です。横軸はグレーレベル、縦軸は各グレーレベルのピクセル数またはグレーレベルの発生頻度です。
グレーレベル頻度の計算式:
v_i = n_i / n
ここで、niはグレーレベルiの発生数、nはピクセルの総数です。
4.エントロピー
エントロピーは、画像情報の量を表すものであり、画像情報の豊富さを反映しており、画像コーディングや画質評価において非常に重要です。
H =-∑_(i = 0)^(L-1)▒p_i〖log〗_2p_i
式で、piはグレーレベルiの発生確率です。

3.実験の内容と手順

1. Matlabの作業環境に精通している
(1)コンピューターの電源を入れ、MATLABプログラムを起動し、MATLABの作業インターフェイスに入ります。
ここに画像の説明を挿入

(2)MATLABメニューと各ツールバーの機能に精通している;
メニューバー
ここに画像の説明を挿入

現在のフォルダ
ここに画像の説明を挿入

コマンドラインウィンドウ
ここに画像の説明を挿入

ワークスペース
ここに画像の説明を挿入

(3)コマンドウィンドウでマトリックスを作成し、マトリックス内の要素を操作します。

a = zeros(5,5)
a =
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0
0 0 0
0 0
0 0 0

a(2:4,2:4)= 1
a =
0 0 0 0 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 0 0 0 0
(4)行列を作成し、行列演算を実行します。

a = [1 2 3 4 5 6];
b = [6 5 4 3 2 1];
a + b
ans =
7 7 7 7 7 7

a。*
bans =
6 10 12 12 10 6

ab
ans =
-5 -3 -1 1 3 5

a./b
ans =
0.1667 0.4000 0.7500 1.3333 2.5000 6.0000

a *
b'ans =
56

a'*
bans =
6 5 4 3 2 1
12 10 8 6 4 2
18 15 12 9 6 3
24 20 16 12 8 4
30 25 20 15 10 5
36 30 24 18 12 6
(5)次の2次元をプロットします関数、および曲線の色と線種を変更します。これらはそれぞれ、青い実線、赤い点線、および黒い点で描画されます。
y = 2e ^(-5x)sin⁡(2πx)0≤x≤2π

ここに画像の説明を挿入ここに画像の説明を挿入

2. Matlabのヘルプコマンドに精通し、Matlabのヘルプ情報の使用方法を学び、ヘルプコマンドを使用して画像処理機能を表示します。
ヘルプコマンド:関数のヘルプを表示する

helpsubplotsubplot
タイル状の位置に軸を作成します。
H = subplot(m、n、p)またはsubplot(mnp)は、Figureウィンドウ
を小さな軸のm行n列の行列に分割し、現在のプロットのp番目の軸を選択して
、軸ハンドルを返します。軸は
、Figureウィンドウの一番上の行に沿ってカウントされ、次に2番目の
行に沿ってカウントされます。たとえば、

    subplot(2,1,1), PLOT(income)
    subplot(2,1,2), PLOT(outgo)

コマンドを入力:元のコードを表示

タイプ
fft2関数f=fft2(x、mrows、ncols)
%FFT22次元離散フーリエ変換。
%FFT2(X)は、行列Xの2次元フーリエ変換を返します。
%Xがベクトルの場合、結果は同じ方向になります。
%FFT2(X、MROWS、NCOLS)は、
変換前に行列Xにゼロを埋めてMROWS xNCOLSのサイズにします。
%入力Xのクラスサポート:
%float:double、single
%FFT、FFTN、FFTSHIFT、FFTW、IFFT、IFFT2、IFFTNも参照してください。
%Copyright 1984-2010 The MathWorks、Inc.

if ismatrix(x)
    if nargin==1
        f = fftn(x);
    else
        f = fftn(x,[mrows ncols]);
    end
else
    if nargin==1
        f = fft(fft(x,[],2),[],1);
    else
        f = fft(fft(x,ncols,2),mrows,1);
    end
end   

lookforコマンド:

lookfor plot(x、y、'k。')
はplot(x、y、'k。')を見つけられませんでした。

3. Matlabのファイル操作機能に精通している
(1)行列Aのデータを格納するデータファイルtest.datを作成します。
ここに画像の説明を挿入

(2)ファイルtest.datの内容を読み取ります
ここに画像の説明を挿入

B =
1 8
4 3
7 6
2 9
5 0
cnt =
9
(3)ファイルの配置
ここに画像の説明を挿入

dingwei
four=
4
ポジション= 88 =
5

4.基本的な画像操作
表1に示されているmatlab画像処理機能をよく理解し、画像に対して基本的な操作を実行します。
(1)画像の読み取りおよび書き込み操作。そのような
ここに画像の説明を挿入ここに画像の説明を挿入

(2)画像の基本的な操作を行います。そのような
ここに画像の説明を挿入ここに画像の説明を挿入

5.プログラミング
(1)関数ファイルの書き込み、計算
ここに画像の説明を挿入ここに画像の説明を挿入ここに画像の説明を挿入

(2)Matlab言語でグレースケール画像のヒストグラムを作成してカウントし、画像とそのグレースケールヒストグラムを同じグラフィックウィンドウに表示します。
ここに画像の説明を挿入ここに画像の説明を挿入

(3)グレースケール画像のエントロピーを計算します。

ここに画像の説明を挿入ここに画像の説明を挿入

(4)画像ミラーリング動作をプログラムして表示します。
ここに画像の説明を挿入ここに画像の説明を挿入

第四に、実験的経験

1. MATLABインターフェイスを理解し、基本的なプログラミングステートメントを理解します。
2.画像​​の入出力、基本的な画像処理操作を学び、画像のグレースケールヒストグラムとエントロピーを解くことができます。
3.使用されるステートメントは異なり、プログラミングコードも異なり、異なるステートメントには特定の類似点があり、すべて正しい結果を得ることができます。

おすすめ

転載: blog.csdn.net/chengzilhc/article/details/115533573