图像中心点的正弦图——matlab实现

图像中心点的正弦图——matlab实现

概念

首先,我说说为什么想做一个图像中心点的正弦图。
当我们照CT的时候,考虑一个二维平面,如果物体永远放置在扫描仪的正中心,那么这个二维物体这正中心,一定是最中间的那个光子探测器探测到的。所以,无论光子以如何的角度投射这个物体(二维),如果我们只讨论中心位置的话,那只用考虑中间那个探测器的值就行了。

(好吧,我承认我这么写是为了偷懒。但是只有实现了最理想的情况,才能向复杂的方向去发展)

实现过程

这里我使用了matlab自带的rotate函数和自己写的方法分别实现了这个正弦图,并画在了一张图上。
我认为,对于中心这个点,投射仪器旋转 θ θ θ照射中心位置,等同于图形旋转 − θ -θ θ度然后进行正投影。
代码如下:

img = imread('picture');%读图
gImg = rgb2gray(img); %这里用的是灰度图
Injectc = zeros(180,1);
rInject = zeros(180,1);
for i = 0:179
    ra = radon(gImg,i);
    [n,~] = size(ra);
    cent = round(n/2);
    rInject(i+1) = ra(cent);
end
x = 1:180;
subplot(1,2,1);
imshow(gImg);
title('原图')
subplot(1,2,2);
plot(x,rInject);
hold on;
for i = 0:179
    rImg = imrotate(gImg, -i);
    [m,~] = size(rImg);
    cen = round(m/2);
    Injectc(i+1)=sum(rImg(:,cen));
end
plot(x,Injectc);
legend('由radon函数生成','自写函数生成')
title('正弦图')

效果

我选择用各种图形去实现这件事
在这里插入图片描述
在这里插入图片描述
这图贼诡异,莫名多出一堆曲线。。。
在这里插入图片描述
这个也是。。。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值