本次實驗的實驗目的及主要內容是濾波反投影重建,實驗目的包括以下幾點:
了解影象投影的原理;
認識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檔案質量的變化情況 計算壓縮比,並畫出壓縮比隨質量等...