加载图像集 - Matlab-->C++ 翻译

Load set of images - Matlab-->C++ translation

本文关键字:gt C++ 翻译 Matlab-- 图像 加载      更新时间:2023-10-16

我有一个Matlab脚本,我正在尝试将其转换为C++(见下文),因为它非常慢。我是一个C++新手,首先我尝试使用codegen但它不起作用(我收到消息???此文本包含非空的顶级表达式。 它似乎是一个脚本。

您对如何开始转换代码有什么建议吗?另外,完成fitsread工作的最佳C++功能是什么?

这是我的代码:

clear;
number_projections = 10;
imgs_per_proj = 2000; % Number of images per projection
% Lets load the reference images relative to the various wavelengths
R1 = zeros(imgs_per_proj, 512, 512);
R2 = zeros(imgs_per_proj, 512, 512);
l = 0;
for k = 1:imgs_per_proj
    s = sprintf('Ref/R1_000_%05i.fits',k-1);
    t = sprintf('Ref/R2_000_%05i.fits',k-1);
    l = l + 1;
    R1(l,:,:) = fitsread(s);
    R2(l,:,:) = fitsread(t);
end

codegen要求您尝试转换的 MATLAB 代码位于函数中,并且您似乎正在尝试转换脚本

但是,即使您这样做,fitsread 似乎也不是 codegen 中支持的功能。以下是支持的功能列表:http://www.mathworks.com/help/simulink/ug/functions-supported-for-code-generation--alphabetical-list.html

C++中没有"内置"功能可以取代fitsread - 为此你需要一个库。有一个名为CCFits的C++ FITS库,你可以在这里找到:http://heasarc.gsfc.nasa.gov/fitsio/CCfits/

他们应该有您可以遵循的教程。