gpt4 book ai didi

c++ - OpenCV UMat 运算符

转载 作者:太空狗 更新时间:2023-10-29 21:35:46 25 4
gpt4 key购买 nike

对于 cv::Mat 可以使用 ~ 来比较 cv::bitwise_not> 2矩阵。

但是cv::UMat似乎没有这些运算符,可以理解你可以简单地做 cv::bitwise_not(umat,umat) (虽然我知道从矩阵复制到自身不是很有效,纠正我如果我错了),但是如何比较 2 个 cv::UMat 矩阵,或者一个 cv::UMat 与一个 cv::Scalar?

最佳答案

TLDR 使用 OpenCV compare function

你可以使用.getMat()

cv::UMat A = cv::Mat(1000, 1000, CV_8UC3), B = cv::UMat(1000, 1000, CV_8UC3);
cv::randu(A, Scalar::all(0), Scalar::all(255));
cv::randu(B, Scalar::all(0), Scalar::all(255));
cv::UMat C = A.getMat(cv::ACCESS_READ) > B.getMat(cv::ACCESS_READ);

但这并没有使用cv::UMat的硬件加速。

相反,您应该只使用 OpenCV compare function

cv::UMat A = cv::Mat(1000, 1000, CV_8UC3), B = cv::UMat(1000, 1000, CV_8UC3);
cv::randu(A, Scalar::all(0), Scalar::all(255));
cv::randu(B, Scalar::all(0), Scalar::all(255));
cv::UMat C;
cv::compare(A, B, C, CMP_GT);

关于c++ - OpenCV UMat 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41552174/

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