數字影象處理實驗報告

2021-03-04 05:09:37 字數 3358 閱讀 2539

本次實驗的實驗目的及主要內容是濾波反投影重建,實驗目的包括以下幾點:

了解影象投影的原理;

認識radon變換;

了解反投影重建影象的原理;

認識逆radon變換;

了解實現逆radon變換的方法。

1.圖象投影原理:投影變換(projection transformation)是將一種地圖投影點的座標變換為另一種地圖投影點的座標的過程。大致示意圖如下:

2.radon變換原理:radon變換大致可以這樣理解:

乙個平面內沿不同的直線(直線與原點的距離為d,方向角為alfa)對f(x,y)做線積分,得到的像f(d,alfa)就是函式f的radon變換。也就是說,平面(d,alfa)的每個點

的像函式值對應了原始函式的某個線積分值,大致可以表示為下圖:

3.反投影重建影象的原理:

反投影重建影象過程可總結為:

(1)採集不同視角下的投影;

(2)求出各投影的一維傅氏變換,此即影象二維傅氏變換過原點的各切片,理論上是連續的無窮多片;

(3)將上述各切片匯集成影象的二維傅氏變換;

(4)求二維傅氏反變換的重建影象。

4.逆radon變換原理:

有限radon變換的逆變換可以通過有限逆投影變換fbp(finite back projection)來得到:

其中pij指的是所有通過點(i,j)的直線的斜率k 和截距l 的集合,即:

為了獲得更好的能量集中性,有限radon變換(frat)和積分分變換fbp要求變換的影象均值為0,對於均值不為零的影象可以在變換前先減去均值,以保證變換前的影象均值為零;反變換回來後再加上影象均值即可恢復原影象。

(這裡主要敘述一下你在這次實驗所用的**中所學習到的新函式什麼的,特別是關於mat類的一些矩陣操作函式,並講解一下那些函式的作用,如:

1、mat flatten(mat arr_in)——將矩陣轉置並拉平,用法如下:

2、mat design_filter(mat& in,int a,int d)——設計濾波器函式,用法如下:

abcd圖2.1(其中div=10 無濾波作用,即a=0)

a)原圖 (b)反向投影結果

(c)影象正弦圖 (d)濾波後投影圖像正弦圖

abcd圖2.2(其中div=100 無濾波器作用,即a=0)

a)原圖 (b)反向投影結果

c)影象正弦圖 (d)濾波後投影圖像正弦圖

abcd圖2.3(其中div=360 shepp-logan濾波器,即a=1)

a)原圖 (b)反向投影結果

c)影象正弦圖 (d)濾波後投影圖像正弦圖

abcd圖2.3(其中div=360 hamming濾波器,即a=2)

a)原圖 (b)反向投影結果

(c)影象正弦圖 (d)濾波後投影圖像正弦圖

abcd圖2.4(其中div=360 hann濾波器,即a=3)

a)原圖 (b)反向投影結果

(c)影象正弦圖 (d)濾波後投影圖像正弦圖

abcd圖2.4(其中div=360 無濾波器,即a=0)

a)原圖 (b)反向投影結果

(c)影象正弦圖 (d)濾波後投影圖像正弦圖

2.2.1 投影引數的修改:

對比分析一下實驗指導中第5個步驟修改引數後的結果,為什麼會出現這樣的結果?

對比圖2.1和2.2可知,對於取不同的div值,其值越大,得到的反投影影象更清晰。

根據**,div的值決定了對角度分割的程度,div值越大,掃瞄的時候角度增量越小,則掃瞄的精確,得到的影象更清晰。

2.2.2 濾波器的選擇:

1)對比分析濾波前後的結果影象,並說明原因;

對比圖2.2和2.3結果可知,當加上濾波器之後,得到的影象更清晰,沒有可見的模糊。

原因是未經過濾波的影象中存在很多干擾雜訊成分,而經過濾波後再進行反投影操作能有效除去這些雜訊和模糊,於是得到了清晰的影象。

2)對比選擇不同的濾波器的濾波效果,說明使用哪個濾波器效果比較好,不用說明原因。

由以上影象顯示結果,hann窗濾波器和hamming窗濾波效果沒有明顯區別,不同的影象適合不同的濾波器,而本次試驗中,從視覺上來說,shepp-logan濾波器得到的影象更清晰。

.pro檔案**如下:

qtcore gui

greaterthan(qt_major_version, 4): qt += widgets

target = shiyanba

template = app

sources += main.cpp\

mainwindow.cpp

includepath+=c:\qt\opencv2.2\include\opencv\

c:\qt\opencv2.2\include\opencv2\

c:\qt\opencv2.2\include

libs+=c:\qt\opencv2.2\lib\libcv.dll.a\

c:\qt\opencv2.2\lib\libopencv_calib3d220.dll.a\

c:\qt\opencv2.2\lib\libopencv_contrib220.dll.a\

c:\qt\opencv2.2\lib\libopencv_core220.dll.a\

c:\qt\opencv2.2\lib\libopencv_features2d220.dll.a\

c:\qt\opencv2.2\lib\libopencv_flann220.dll.a\

c:\qt\opencv2.2\lib\libopencv_gpu220.dll.a\

c:\qt\opencv2.2\lib\libopencv_highgui220.dll.a\

c:\qt\opencv2.2\lib\libopencv_imgproc220.dll.a\

c:\qt\opencv2.2\lib\libopencv_legacy220.dll.a\

c:\qt\opencv2.2\lib\libopencv_ml220.dll.a\

c:\qt\opencv2.2\lib\libopencv_objdetect220.dll.a\

c:\qt\opencv2.2\lib\libopencv_video220.dll.a

main.cpp**如下:

#include

#include

#include

#include

using namespace cv;

using namespace std;

//子函式---建立亞畫素影象

mat subpixels(mat source_image) {

mat target_image(source_image.rows*2, source_ cv_32f);

數字影象處理實驗報告

實驗報告 姓名 學號 學院 資訊工程學院 專業 電子資訊工程 年級班別 指導老師 影象的空間域平滑和銳化 一 實驗目的 1 掌握影象模板運算的流程。2 進一步理解影象的平滑 銳化原理。3 了解影象平滑 銳化的效果和作用。二 實驗內容和要求 程式設計分別實現影象的平滑和銳化。三 實驗主要儀器裝置和材料...

數字影象處理實驗報告

小組序號 第 組 組員 蔣華熔1104210121 劉野1104210125 趙若昕1104210114 高新宇1104210117 查智超1104210116 指導老師 張玉珍 2014年5月28日 實驗二一 實驗目的 掌握影象平滑基本原理,掌握4點平滑,8點平滑,中值濾波平滑基本原理,掌握計算機...

數字影象處理 實驗報告

學院理學院 班級 資訊軟體 學號 130108010026 姓名劉洋 指導教師 聶棟棟 教務處2016年 3 月 實驗一一 實驗內容 計算峰值訊雜比 將影象按質量等級分別為10 30 50 70 90儲存成jpg檔案,並分別命名為 觀察並說明jpg檔案質量的變化情況 計算壓縮比,並畫出壓縮比隨質量等...