gpt4 book ai didi

c++ - 如何在 OpenCV 64FC1 矩阵中设置值

转载 作者:行者123 更新时间:2023-11-27 22:59:29 24 4
gpt4 key购买 nike

我正在尝试创建一个包含值 1、2 和 3 的三行一列矩阵。

int main(int argc, char *argv[])
{

cv::Mat point = cv::Mat::ones(3, 1, CV_64FC1);
point.at<double>(1,1) = 1.0d;
point.at<double>(1,2) = 2.0d;
point.at<double>(1,3) = 3.0d;
std::cout << point << std::endl;

return 0;
}

输出是:

[1
1
1]

预期的输出是:

[1
2
3]

如何在 OpenCV 矩阵中设置值?

最佳答案

您正在访问错误的元素。正确的做法是:

cv::Mat point = cv::Mat(3, 1, CV_64FC1);
point.at<double>(0,0) = 1.0d;
point.at<double>(1,0) = 2.0d;
point.at<double>(2,0) = 3.0d;

比这更简单:

double data[3] = {1.0d, 2.0d, 3.0d};
cv::Mat point = cv::Mat(3, 1, CV_64FC1, &data);

关于c++ - 如何在 OpenCV 64FC1 矩阵中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29201179/

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