gpt4 book ai didi

c++ - 为什么 OpenCV 构造函数在 iPhone 5 而不是 iPhone 6/iPad 上工作?

转载 作者:行者123 更新时间:2023-11-28 06:23:34 24 4
gpt4 key购买 nike

我有以下代码:

CGFloat data[6] = {0.0f,1.0f,2.0f,3.0f,4.0f,5.0f};
cv::Mat warp_mat( 6,1, CV_32FC1,data);

for (int i=0;i<6;++i)
printf("%f, ",warp_mat.at<float>(i));

当我在 iPhone5 和 iPhone5 模拟器上运行这段代码时,它工作正常。但是,当我在 iPhone6/iPad 及其模拟器上运行它时,它会打印出乱码。谁能告诉我为什么?

我用这段代码修复了它:

cv::Mat warp_mat( 6,1, CV_32FC1);
for (int j=0;j<6;++j)
warp_mat.at<float>(j)=data[j];

但我担心还有其他类似的问题。如有任何建议\评论\想法,我们将不胜感激。

最佳答案

因为 sizeof(CGFloat) 在 64 位系统上不等于 sizeof(float)

CGFloat data[6] = {0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f};
cv::Mat warp_mat(6, 1, CV_32FC1, data);

for (int i = 0; i < 6; ++i)
printf("%f, ",warp_mat.at<CGFloat>(i));

float data[6] = {0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f};
cv::Mat warp_mat(6, 1, CV_32FC1, data);

for (int i = 0; i < 6; ++i)
printf("%f, ",warp_mat.at<float>(i));

关于c++ - 为什么 OpenCV 构造函数在 iPhone 5 而不是 iPhone 6/iPad 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28914957/

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