美文网首页200万赞助力写作
110. 投影和雷登变换

110. 投影和雷登变换

作者: 大龙10 | 来源:发表于2025-09-02 06:56 被阅读0次

7. 图像复原与重建索引

一、投影重建图像

  • 图像重建(Image Reconstruction)的基本思想,就是通过探测物体的投影数据,重建物体的实际内部构造。

二、断层成像

  • 断层成像就是要获得物体内部的截面图像。利用 X射线、超声波等射线穿透被遮挡物体的透视投影图,可以计算恢复物体的断层图,进而可以利用断层图或直接从二维透视投影图重建物体的形状和内部结构。
    其原理是射线在穿过不同组织时的吸收率不同,在成像面上得到不同的投射强度,由此反演求得内部分布的图像。

  • X 射线、CT 技术就是应用断层重建的医学诊断方法。计算机断层扫描(CT)已经发展成为一种非常成功和必不可少的医学诊断工具,被认为是 X 射线发现以来医学影像领域最伟大的发明。

  • X 射线计算机断层成像的基本原理是:使用 X 射线从多个不同方向和角度对物体进行扫描,通过反投影算法获取物体内部结构的切片,堆叠这些切片就可以得到人体的三维表示。

  • 投影重建还应用于地矿探测,接收不同地层和矿体反射的超声波, 按照超声波在媒质的透射率和反射规律,对透射投影图进行分析计算,就可以恢复重建地下的矿体形状。

三、投影和雷登变换(Radon transform)

  • 雷登变换是三维重建的数学基础
    一条直线y=ax+b 的法线束为 xcosθ+ysinθ=ρ
    沿该直线对函数f(x,y) 进行积分,这个积分结果就是雷登变换后的函数 \mathcal{R}f在这条直线上的值:


    雷登变换的离散形式:
  • 雷登变换将二维空间 xy 映射到了另一个二维空间 \alpha s,称为直线空间。

  • 雷登变换常被用于医学影像处理,利用反雷登变换可以进行三维图像重建。

四、例程

  • 9.24:雷登变换正弦图
import cv2
import numpy as np
from matplotlib import pyplot as plt

# # 9.24: 雷登变换正弦图
from scipy import ndimage
def 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()

五、资料

youcans_的博客:
https://blog.csdn.net/youcans/article/details/123088031

相关文章

  • Games101:作业1笔记

    实现模型和投影变换的矩阵 模型变换 只需要处理绕z轴旋转的变换,需要注意输入的角度非弧度。 投影变换 先将透视投影...

  • opencv

    投影变换 使用opencv实现投影变换,对图片进行预处理,灰度转换,高斯模糊,canny边缘检测(找到需要投影的区...

  • 投影变换

    大家好,本节我们将为大家介绍地图的投影变换。 下图为亚特兰蒂斯(Atlantis)投影地图,展示了大西洋在...

  • 投影变换

    当数据的空间参考系统与我们的需求不一致时,就需要对数据进行投影变换操作。有时候也需要对数据进行一些预处理。 1.投...

  • 学习OpenGL ES之透视和正交投影

    本系列所有文章目录 获取示例代码 上一篇介绍了变换矩阵,本篇将介绍两个重要的变换矩阵,透视投影矩阵和正交投影矩阵。...

  • 学习WebGL之透视和正交投影

    本系列所有文章目录 上一篇介绍了变换矩阵,本篇将介绍两个重要的变换矩阵,透视投影矩阵和正交投影矩阵,可以前往我的博...

  • 墨卡托投影 Mercator projection

    圆柱面投影 坐标变换 正轴墨卡托投影(正球模型) 横坐标 在纬度处,经线实际周长为 在图上的周长为 在纬度处,变换...

  • 第31课 线性变换及对应矩阵

    投影,不通过任何矩阵描述投影,可以通过线性变换来描述投影。 通过线性变换使得平面内的一个向量变成平面内的另一个向量...

  • gluLookAt 与 gluFrustum

    gluLookAt 视图变换gluFrustum 投影变换 设定人眼的位置为 z正向 3 修改 gluFrust...

  • 透视投影变换就是三维变换

    透视投影(Perspective Projection)变换推导[https://www.cnblogs.com/...

网友评论

    本文标题:110. 投影和雷登变换

    本文链接:https://www.haomeiwen.com/subject/cybcajtx.html