我是电气工程专业的本科生。我读过许多关于信号和图像处理算法(重建、分割、滤波等)的技术论文。本文给出的大多数算法都是在连续时间和连续频率上定义的,通常是用复杂的方程来给出解。您将如何从零开始在C++或MATLAB中实现一篇技术论文,以便复制在该论文中获得的结果?
更具体地说,我看了王等人(IEEE跨医学成像.1993年年;12(3):486-96)的论文“一般锥束重建算法”,我想知道,我是如何开始实现他们的算法的?方程10给出了重建图像的公式。你会怎么编码?你会有一个循环遍历每个体素并计算相应的公式吗?您将如何在该公式中编码函数的函数?在任意点如何评估函数?
我读过冈萨雷斯和伍兹写的“数字图像处理”一书,但我仍然感到不知所措。我也读过关于数值累加系列的书。这是正确的方法吗?
你从研究论文中编程算法的经验是什么?有什么建议吗?
发布于 2011-08-24 08:46:31
添加到nibot的极好的解释中,只需再加几分。
double
数组和循环与数据类型(如复杂数字)和运算(如积分)是不相比较的。(这是可以肯定的,好的C++代码可以提高数量级,有了良好的库抽象和模板,它甚至可以相当干净和清晰,但它肯定更容易开始使用例如MATLAB)。发布于 2011-08-24 21:12:27
数值方法这通常是一门高级大学课程和教科书。
DSP通常接近于数值方法的交集和高效的实现。如果你忽略了效率,那么你可能要寻找的是任何数值近似方法,它可能为技术论文的感兴趣的方程(S)产生一个“足够精确”的结果。有时,人们可能会处理抽样数据,其中采样定理将对数据采集方法(预滤波)和给定数据的结果的范围或质量都有一定的限制。
有时,Matlab、数值菜谱或各种图像/信号处理库都会为所需的数值解提供有效的算法或代码。但有时你可能不得不自己滚,所以了解各种数值解法背后的数学是有帮助的。这本身就是一个很大的课题。
https://softwareengineering.stackexchange.com/questions/103247
复制相似问题