加载图像集 - Matlab-->C++ 翻译
Load set of images - Matlab-->C++ translation
我有一个 Matlab 脚本,我正试图将其转换为 C++(见下文),因为它非常慢。我是 C++ 新手,一开始我尝试使用 codegen
但它不起作用(我收到消息 ??? This text contains non-empty top-level expressions. 它似乎做个脚本。)
您对如何开始转换代码有什么建议吗?另外,完成 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++ 中没有 "built-in" 函数可以替代 fitsread
- 为此您需要一个库。您可以在此处找到名为 CCFits
的 C++ FITS 库:http://heasarc.gsfc.nasa.gov/fitsio/CCfits/
他们应该有您可以遵循的教程。
我有一个 Matlab 脚本,我正试图将其转换为 C++(见下文),因为它非常慢。我是 C++ 新手,一开始我尝试使用 codegen
但它不起作用(我收到消息 ??? This text contains non-empty top-level expressions. 它似乎做个脚本。)
您对如何开始转换代码有什么建议吗?另外,完成 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++ 中没有 "built-in" 函数可以替代 fitsread
- 为此您需要一个库。您可以在此处找到名为 CCFits
的 C++ FITS 库:http://heasarc.gsfc.nasa.gov/fitsio/CCfits/
他们应该有您可以遵循的教程。