我正在研究计算机断层扫描问题,其中我必须模拟 CT 设备生成的原始数据或正弦图的生成。
Matlab 有一个内置函数“radon()”来模拟相同的。我已经在 Matlab 中成功编写了一个自定义代码来生成正弦图(即:不使用 radon() )。
我已将此代码转换为 C,使用 OpenCV 库来处理图像的加载/显示/保存。
问题是,虽然我的 matlab 输出按预期生成了正弦图,但我的 C 代码却没有。我只是将 Matlab 代码翻译成 C,但 C 输出的方向不同,中间也有黑条。C 输出中的灰度级类似于由 matlab 代码生成的正弦图灰度级和图案。只有它在 C 中出现分段。(如果你给我你的邮件 ID,我会发送图像,因为我无法在此处附加它们。)
有人可以帮我解决为什么会这样吗?我已经对我的代码进行了同行评审,并检查了类型转换错误、内存分配等。但它们似乎都是正确的。
matlab 处理数据的方式与 C 不同吗?倾斜的解释是什么?
请帮帮我。如果您需要有关问题陈述的更多说明或需要查看算法,请告诉我。
谢谢!