【发布时间】:2020-06-21 16:10:29
【问题描述】:
最近我尝试在https://www.felmi-zfe.at/dm_script/ 中运行 Vincent Hou 的 Hough 变换脚本以获得图像 (1024*1024)。该脚本在我的计算机上大约需要 4 分钟。然后我尝试使用 Gatan DMSDK 中的 sampleInterface 示例将 dm 脚本转换为 C++ 文件并将其编译为 DM 插件,然后尝试再次为同一图像运行它。时间消耗仅减少了 7 秒。我对这个结果不太满意。然后我查看了生成的代码,发现霍夫变换算法的主要部分仍在 dm-script 中。没有为此生成 C++。只是生成了一些界面。
然后我尝试在 C++ 中实现 dm 脚本。但是我发现很难将 dm-script 的某些功能翻译成 C++。
第一个是如何将imgHT[ HT_Col, y0 + tho_ratio*((iRow-y0)*sint+(iCol-x0)*cost) ] += source翻译成C++代码?我试过这个:
for (uint32 iRow = 0; iRow < size; iRow++)
{
for (uint32 iCol = 0; iCol < size; iCol++)
{
//imgHT[HT_Col, y0 + tho_ratio * ((iRow - y0) * sint + (iCol - x0) * cost)] += source;
}
}
但是没有为 Gatan::DM::Image 类定义 [] 运算符。所以我对上面的代码做了评论。 所以这是我的问题:
- 关于如何将注释行转换为 C++ 代码的任何建议?
- DMSDK 中是否有办法从 Gatan::DM::Image 类获取数据或将此类转换为二维数组(指向数组的数组指针)?
【问题讨论】: