【youcans 的 OpenCV 例程 200 篇】110. 投影和雷登变换
歡迎關(guān)注 『youcans 的 OpenCV 例程 200 篇』 系列,持續(xù)更新中
歡迎關(guān)注 『youcans 的 OpenCV學(xué)習(xí)課』 系列,持續(xù)更新中
【youcans 的 OpenCV 例程 200 篇】110. 投影和雷登變換
7. 投影重建圖像
7.1 計(jì)算機(jī)斷層成像(Computed tomography)
圖像重建(Image Reconstruction)的基本思想,就是通過探測(cè)物體的投影數(shù)據(jù),重建物體的實(shí)際內(nèi)部構(gòu)造。
斷層成像就是要獲得物體內(nèi)部的截面圖像。利用 X射線、超聲波等射線穿透被遮擋物體的透視投影圖,可以計(jì)算恢復(fù)物體的斷層圖,進(jìn)而可以利用斷層圖或直接從二維透視投影圖重建物體的形狀和內(nèi)部結(jié)構(gòu)。其原理是射線在穿過不同組織時(shí)的吸收率不同,在成像面上得到不同的投射強(qiáng)度,由此反演求得內(nèi)部分布的圖像。
X 射線、CT 技術(shù)就是應(yīng)用斷層重建的醫(yī)學(xué)診斷方法。計(jì)算機(jī)斷層掃描(CT)已經(jīng)發(fā)展成為一種非常成功和必不可少的醫(yī)學(xué)診斷工具,被認(rèn)為是 X 射線發(fā)現(xiàn)以來醫(yī)學(xué)影像領(lǐng)域最偉大的發(fā)明。
X 射線計(jì)算機(jī)斷層成像的基本原理是:使用 X 射線從多個(gè)不同方向和角度對(duì)物體進(jìn)行掃描,通過反投影算法獲取物體內(nèi)部結(jié)構(gòu)的切片,堆疊這些切片就可以得到人體的三維表示。
投影重建還應(yīng)用于地礦探測(cè),接收不同地層和礦體反射的超聲波, 按照超聲波在媒質(zhì)的透射率和反射規(guī)律,對(duì)透射投影圖進(jìn)行分析計(jì)算,就可以恢復(fù)重建地下的礦體形狀。
7.2 投影和雷登變換(Radon transform)
雷登變換是三維重建的數(shù)學(xué)基礎(chǔ)。
一條直線 y=ax+by=ax+by=ax+b 的法線束為:
xcosθ+ysinθ=ρx cos \theta + y sin \theta = \rho xcosθ+ysinθ=ρ
沿該直線對(duì)函數(shù) f(x,y)f(x,y)f(x,y) 進(jìn)行積分,這個(gè)積分結(jié)果就是雷登變換后的函數(shù) Rf\mathcal{R}fRf 在這條直線上的值:
g(ρ,θ)=∫?∞+∞∫?∞+∞f(x,y)δ(xcosθ+ysinθ?ρ)dxdyg(\rho, \theta) = \int ^{+\infty}_{-\infty} \int ^{+\infty}_{-\infty} f(x,y) \ \delta(x cos \theta + y sin \theta - \rho) dxdy g(ρ,θ)=∫?∞+∞?∫?∞+∞?f(x,y)?δ(xcosθ+ysinθ?ρ)dxdy
雷登變換的離散形式:
g(ρ,θ)=∑x=0M?1∑y=0N?1f(x,y)δ(xcosθ+ysinθ?ρ)g(\rho, \theta) = \sum ^{M-1}_{x=0} \sum^{N-1}_{y=0} f(x,y) \ \delta(x cos \theta + y sin \theta - \rho) g(ρ,θ)=x=0∑M?1?y=0∑N?1?f(x,y)?δ(xcosθ+ysinθ?ρ)
雷登變換將二維空間 xyxyxy 映射到了另一個(gè)二維空間 αs\alpha sαs,稱為直線空間。
雷登變換常被用于醫(yī)學(xué)影像處理,利用反雷登變換可以進(jìn)行三維圖像重建。
例程 9.23:雷登變換正弦圖
# # 9.23: 雷登變換正弦圖from scipy import ndimagedef discreteRadonTransform(image, steps):channels = image.shape[0]res = np.zeros((channels, channels), dtype=np.float32)for s in range(steps):rotation = ndimage.rotate(image, -s * 180/steps, reshape=False).astype(np.float32)res[:, s] = sum(rotation)return res# # 讀取原始圖像plt.figure(figsize=(9, 7))fileImg = ["Fig0534a.tif", "Fig0534b.tif", "Fig0534c.tif"] # 原始圖像 文件名for i in range(len(fileImg)):img = cv2.imread("../images/"+fileImg[i], flags=0) # flags=0 讀取為灰度圖像imgRadon = discreteRadonTransform(img, img.shape[0]) # Radon 變換print(img.shape, imgRadon.shape)plt.subplot(2, len(fileImg), i + 1), plt.axis('off') # 繪制原始圖像plt.title("origin image"), plt.imshow(img, 'gray')plt.subplot(2, len(fileImg), i + len(fileImg) + 1), plt.axis('off') # 繪制 sinogram 圖plt.title("Radon transform"), plt.imshow(imgRadon, 'gray')plt.tight_layout()plt.show()(本節(jié)完)
版權(quán)聲明:
youcans@xupt 原創(chuàng)作品,轉(zhuǎn)載必須標(biāo)注原文鏈接:(https://blog.csdn.net/youcans/article/details/123088031)
Copyright 2022 youcans, XUPT
Crated:2022-2-22
歡迎關(guān)注 『youcans 的 OpenCV 例程 200 篇』 系列,持續(xù)更新中
歡迎關(guān)注 『youcans 的 OpenCV學(xué)習(xí)課』 系列,持續(xù)更新中
【youcans 的 OpenCV 例程200篇】01. 圖像的讀取(cv2.imread)
【youcans 的 OpenCV 例程200篇】02. 圖像的保存(cv2.imwrite)
【youcans 的 OpenCV 例程200篇】03. 圖像的顯示(cv2.imshow)
【youcans 的 OpenCV 例程200篇】04. 用 matplotlib 顯示圖像(plt.imshow)
【youcans 的 OpenCV 例程200篇】05. 圖像的屬性(np.shape)
【youcans 的 OpenCV 例程200篇】06. 像素的編輯(img.itemset)
【youcans 的 OpenCV 例程200篇】07. 圖像的創(chuàng)建(np.zeros)
【youcans 的 OpenCV 例程200篇】08. 圖像的復(fù)制(np.copy)
【youcans 的 OpenCV 例程200篇】09. 圖像的裁剪(cv2.selectROI)
【youcans 的 OpenCV 例程200篇】10. 圖像的拼接(np.hstack)
【youcans 的 OpenCV 例程200篇】11. 圖像通道的拆分(cv2.split)
【youcans 的 OpenCV 例程200篇】12. 圖像通道的合并(cv2.merge)
【youcans 的 OpenCV 例程200篇】13. 圖像的加法運(yùn)算(cv2.add)
【youcans 的 OpenCV 例程200篇】14. 圖像與標(biāo)量相加(cv2.add)
【youcans 的 OpenCV 例程200篇】15. 圖像的加權(quán)加法(cv2.addWeight)
【youcans 的 OpenCV 例程200篇】16. 不同尺寸的圖像加法
【youcans 的 OpenCV 例程200篇】17. 兩張圖像的漸變切換
【youcans 的 OpenCV 例程200篇】18. 圖像的掩模加法
【youcans 的 OpenCV 例程200篇】19. 圖像的圓形遮罩
【youcans 的 OpenCV 例程200篇】20. 圖像的按位運(yùn)算
【youcans 的 OpenCV 例程200篇】21. 圖像的疊加
【youcans 的 OpenCV 例程200篇】22. 圖像添加非中文文字
【youcans 的 OpenCV 例程200篇】23. 圖像添加中文文字
【youcans 的 OpenCV 例程200篇】24. 圖像的仿射變換
【youcans 的 OpenCV 例程200篇】25. 圖像的平移
【youcans 的 OpenCV 例程200篇】26. 圖像的旋轉(zhuǎn)(以原點(diǎn)為中心)
【youcans 的 OpenCV 例程200篇】27. 圖像的旋轉(zhuǎn)(以任意點(diǎn)為中心)
【youcans 的 OpenCV 例程200篇】28. 圖像的旋轉(zhuǎn)(直角旋轉(zhuǎn))
【youcans 的 OpenCV 例程200篇】29. 圖像的翻轉(zhuǎn)(cv2.flip)
【youcans 的 OpenCV 例程200篇】30. 圖像的縮放(cv2.resize)
【youcans 的 OpenCV 例程200篇】31. 圖像金字塔(cv2.pyrDown)
【youcans 的 OpenCV 例程200篇】32. 圖像的扭變(錯(cuò)切)
【youcans 的 OpenCV 例程200篇】33. 圖像的復(fù)合變換
【youcans 的 OpenCV 例程200篇】34. 圖像的投影變換
【youcans 的 OpenCV 例程200篇】35. 圖像的投影變換(邊界填充)
【youcans 的 OpenCV 例程200篇】36. 直角坐標(biāo)與極坐標(biāo)的轉(zhuǎn)換
【youcans 的 OpenCV 例程200篇】37. 圖像的灰度化處理和二值化處理
【youcans 的 OpenCV 例程200篇】38. 圖像的反色變換(圖像反轉(zhuǎn))
【youcans 的 OpenCV 例程200篇】39. 圖像灰度的線性變換
【youcans 的 OpenCV 例程200篇】40. 圖像分段線性灰度變換
【youcans 的 OpenCV 例程200篇】41. 圖像的灰度變換(灰度級(jí)分層)
【youcans 的 OpenCV 例程200篇】42. 圖像的灰度變換(比特平面分層)
【youcans 的 OpenCV 例程200篇】43. 圖像的灰度變換(對(duì)數(shù)變換)
【youcans 的 OpenCV 例程200篇】44. 圖像的灰度變換(伽馬變換)
【youcans 的 OpenCV 例程200篇】45. 圖像的灰度直方圖
【youcans 的 OpenCV 例程200篇】46. 直方圖均衡化
【youcans 的 OpenCV 例程200篇】47. 圖像增強(qiáng)—直方圖匹配
【youcans 的 OpenCV 例程200篇】48. 圖像增強(qiáng)—彩色直方圖匹配
【youcans 的 OpenCV 例程200篇】49. 圖像增強(qiáng)—局部直方圖處理
【youcans 的 OpenCV 例程200篇】50. 圖像增強(qiáng)—直方圖統(tǒng)計(jì)量圖像增強(qiáng)
【youcans 的 OpenCV 例程200篇】51. 圖像增強(qiáng)—直方圖反向追蹤
【youcans 的 OpenCV 例程200篇】52. 圖像的相關(guān)與卷積運(yùn)算
【youcans 的 OpenCV 例程200篇】53. Scipy 實(shí)現(xiàn)圖像二維卷積
【youcans 的 OpenCV 例程200篇】54. OpenCV 實(shí)現(xiàn)圖像二維卷積
【youcans 的 OpenCV 例程200篇】55. 可分離卷積核
【youcans 的 OpenCV 例程200篇】56. 低通盒式濾波器
【youcans 的 OpenCV 例程200篇】57. 低通高斯濾波器
【youcans 的 OpenCV 例程200篇】58. 非線性濾波—中值濾波
【youcans 的 OpenCV 例程200篇】59. 非線性濾波—雙邊濾波
【youcans 的 OpenCV 例程200篇】60. 非線性濾波—聯(lián)合雙邊濾波
【youcans 的 OpenCV 例程200篇】61. 導(dǎo)向?yàn)V波(Guided filter)
【youcans 的 OpenCV 例程200篇】62. 圖像銳化——鈍化掩蔽
【youcans 的 OpenCV 例程200篇】63. 圖像銳化——Laplacian 算子
【youcans 的 OpenCV 例程200篇】64. 圖像銳化——Sobel 算子
【youcans 的 OpenCV 例程200篇】65. 圖像銳化——Scharr 算子
【youcans 的 OpenCV 例程200篇】66. 圖像濾波之低通/高通/帶阻/帶通
【youcans 的 OpenCV 例程200篇】67. 空間域圖像增強(qiáng)的綜合應(yīng)用
【youcans 的 OpenCV 例程200篇】68. 空間域圖像增強(qiáng)的綜合應(yīng)用
【youcans 的 OpenCV 例程200篇】69. 連續(xù)非周期信號(hào)的傅立葉系數(shù)
【youcans 的 OpenCV 例程200篇】70. 一維連續(xù)函數(shù)的傅里葉變換
【youcans 的 OpenCV 例程200篇】71. 連續(xù)函數(shù)的取樣
【youcans 的 OpenCV 例程200篇】72. 一維離散傅里葉變換
【youcans 的 OpenCV 例程200篇】73. 二維連續(xù)傅里葉變換
【youcans 的 OpenCV 例程200篇】74. 圖像的抗混疊
【youcans 的 OpenCV 例程200篇】75. Numpy 實(shí)現(xiàn)圖像傅里葉變換
【youcans 的 OpenCV 例程200篇】76. OpenCV 實(shí)現(xiàn)圖像傅里葉變換
【youcans 的 OpenCV 例程200篇】77. OpenCV 實(shí)現(xiàn)快速傅里葉變換
【youcans 的 OpenCV 例程200篇】78. 頻率域圖像濾波基礎(chǔ)
【youcans 的 OpenCV 例程200篇】79. 頻率域圖像濾波的基本步驟
【youcans 的 OpenCV 例程200篇】80. 頻率域圖像濾波詳細(xì)步驟
【youcans 的 OpenCV 例程200篇】81. 頻率域高斯低通濾波器
【youcans 的 OpenCV 例程200篇】82. 頻率域巴特沃斯低通濾波器
【youcans 的 OpenCV 例程200篇】83. 頻率域低通濾波:印刷文本字符修復(fù)
【youcans 的 OpenCV 例程200篇】84. 由低通濾波器得到高通濾波器
【youcans 的 OpenCV 例程200篇】85. 頻率域高通濾波器的應(yīng)用
【youcans 的 OpenCV 例程200篇】86. 頻率域?yàn)V波應(yīng)用:指紋圖像處理
【youcans 的 OpenCV 例程200篇】87. 頻率域鈍化掩蔽
【youcans 的 OpenCV 例程200篇】88. 頻率域拉普拉斯高通濾波
【youcans 的 OpenCV 例程200篇】89. 帶阻濾波器的傳遞函數(shù)
【youcans 的 OpenCV 例程200篇】90. 頻率域陷波濾波器
【youcans 的 OpenCV 例程200篇】91. 高斯噪聲、瑞利噪聲、愛爾蘭噪聲
【youcans 的 OpenCV 例程200篇】92. 指數(shù)噪聲、均勻噪聲、椒鹽噪聲
【youcans 的 OpenCV 例程200篇】93. 噪聲模型的直方圖
【youcans 的 OpenCV 例程200篇】94. 算術(shù)平均濾波器
【youcans 的 OpenCV 例程200篇】95. 幾何均值濾波器
【youcans 的 OpenCV 例程200篇】96. 諧波平均濾波器
【youcans 的 OpenCV 例程200篇】97. 反諧波平均濾波器
【youcans 的 OpenCV 例程200篇】98. 統(tǒng)計(jì)排序?yàn)V波器
【youcans 的 OpenCV 例程200篇】99. 修正阿爾法均值濾波器
【youcans 的 OpenCV 例程200篇】100. 自適應(yīng)局部降噪濾波器
【youcans 的 OpenCV 例程200篇】101. 自適應(yīng)中值濾波器
【youcans 的 OpenCV 例程200篇】102. 陷波帶阻濾波器的傳遞函數(shù)
【youcans 的 OpenCV 例程200篇】103. 陷波帶阻濾波器消除周期噪聲干擾
【youcans 的 OpenCV 例程200篇】104. 運(yùn)動(dòng)模糊退化模型
【youcans 的 OpenCV 例程200篇】105. 湍流模糊退化模型
【youcans 的 OpenCV 例程200篇】106. 退化圖像的逆濾波
【youcans 的 OpenCV 例程200篇】107. 退化圖像的維納濾波
【youcans 的 OpenCV 例程200篇】108. 約束最小二乘方濾波
【youcans 的 OpenCV 例程200篇】109. 幾何均值濾波
【youcans 的 OpenCV 例程200篇】110. 投影和雷登變換
總結(jié)
以上是生活随笔為你收集整理的【youcans 的 OpenCV 例程 200 篇】110. 投影和雷登变换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jmeter web监听结果_jmete
- 下一篇: python下的mysql模块包装