gpt4 book ai didi

MATLAB 嵌入式编码器 : fft2 operation for uint8?

转载 作者:行者123 更新时间:2023-12-02 02:21:25 25 4
gpt4 key购买 nike

我想使用运行 fft2 的 MATLAB Embedded Coder 生成一些代码uint8 上的操作数据类型。最终应用程序将在最大 4096 x 4096 的图像上运行,因此我不想使用 double (~134MB 的双倍数据 vs.~16MB)获得 emlc 所需的输入立即编译我的代码。

这是我正在运行的示例:

%#eml
function bar = emlc_test(foo)
bar = fft2(foo);
end

使用编译器命令:

emlc -T rtw emlc_test -c -report -v -eg { zeros(32,32,'uint8') }

这会引发错误:

??? Function 'fft' is not defined for values of class 'uint8'.

相同的代码/编译命令在更改 'uint8' 时工作正常至'double'

但是查看生成的代码,处理似乎应该能够在 uint8 空间中运行。我是否缺少一个标志来允许我的 fft2继续进行操作 uint8数据而不是 double数据?

最佳答案

MATLAB fft2 reference documentation明确要求类型为 double 或 single。

看来您甚至可能必须使用基于单打的“怪物”(*)矩阵作为输入。我认为这样做的原因是 MATLAB 无法决定输出中所需的类型,除非它与输入相同。
(**) 其实没那么大:单一类型只是你预期的 4 倍。

关于MATLAB 嵌入式编码器 : fft2 operation for uint8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1729581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com