全国大学生数学建模竞赛——2017A题(学习笔记)

目录

一、任务分析

二、题目一求解

题目分析:

模型建立:

模型求解:

3.1读数据,绘图

3.2探测器之间的距离计算

3.3小圆与发射—接收系统的相对运动

3.4提取小圆圆心位置坐标

三、题目二求解

 


一、任务分析

历年赛题 

任务:CT标定,CT图像重建

知识:图像处理

标定模板为椭圆与球。CT测量所得数据为512*180的二维矩阵。

行数512:接收点个数,列数180:CT旋转次数。所成的二维矩阵并不是真实物体的成像,而是不断旋转的水平投影的叠加。

每个角度都有一个大小为512的投影向量,一共180个角度的叠加。

二、题目一求解

求解:CT系统旋转中心在正方形托盘中的位置(x_0,y_0)探测器单元之间的距离d_0CT系统使用的X射线的180个方向\theta_i

题目分析

标定 CT 系统的安装误差

模型建立:

(1)探测器之间的距离

模型求解:

3.1读数据,绘图

表格一数据读取

A=xlsread('E:\math_model_data\data2017\A.xls');
imshow(A)

 

表格二数据读取

B=xlsread('E:\math_model_data\data2017\A.xls',2);
X=1:size(B,2);
Y=1:size(B,1);
figure(1)
mesh(X,Y,B)

 

3.2探测器之间的距离d_0计算

B=xlsread('E:\math_model_data\data2017\A.xls',2);

figure
lenb = (1:length(B));

subplot(221)
scatter(lenb( B(:,1)~=0 ),B( B(:,1) ~= 0 ,1),20,'filled')
title('1')

subplot(222)
scatter(lenb( B(:,6)~=0 ),B( B(:,6) ~= 0 ,6),20,'filled')
title('6')

subplot(223)
scatter(lenb( B(:,11)~=0 ),B( B(:,11) ~= 0 ,11),20,'filled')
title('11')

subplot(224)
scatter(lenb( B(:,60)~=0 ),B( B(:,60) ~= 0 ,60),20,'filled')
title('60重合')

图1:球投影29个点。图6:球投影29个点。 图11:球投影28个点。

解得,探测器之间的距离d_0和小圆直径的不等关系式:  直径/29 < 探测器距离 < 直径/28\frac{D}{29}< d_0< \frac{D}{28}

由图即可解得d_0近似解:\frac{8}{29}< d_0< \frac{8}{28}

3.3小圆与发射—接收系统的相对运动

模板:小球与椭圆,小球投影为小圆。系统:CT系统。

模板与系统相对运动,一动一静。以系统为参照物,系统看做静止物体,则模板为运动物体。取第一个探测器为坐标原点,建立坐标系,解算

{\color{DarkBlue} d_y = -r * sin(\theta+\theta_0)d_\theta }

{\color{DarkBlue} y = r*cos(\theta+\theta_0)+C}

根据特殊点解得\theta_0rC

 

点A:y_A = 60,\theta_A=\pi

点B:y_B = 233.5,\theta_B = \frac{\pi}{2}

点C:y_C = 59,\theta_C+\theta = \pi

\left \{ \begin{aligned} 59 & = -R+C \\ 60 & = R\cos(\pi+\theta_0)+59+R \\ 233.5 & = R\cos(\frac \pi2+\theta_0)+59+R \end{aligned} \right.

解得

y = 190.2644\cos(\theta+5.8173)+249.2644

3.4提取小圆圆心位置坐标

分离段:取极值

 

重合段:边缘提取后,取平均值作为中心

得到180个小圆圆心,解得180个角度。

{\color{DarkBlue} \theta_i = \arccos(\frac {y_i-C} {r} ) + \theta_0}

3.5参数修正

3.5.1 进一步确定旋转角度的范围

 

3.5.2 修正旋转中心坐标

 

三、题目二求解

 

猜你喜欢

转载自blog.csdn.net/baidu_39630688/article/details/82078187
今日推荐