gpt4 book ai didi

opencv - 从OpenCV中的cv::Mat对象中减去固定值

转载 作者:行者123 更新时间:2023-12-02 17:53:34 24 4
gpt4 key购买 nike

我对OpenCV相当陌生,并且对它有所了解。我知道cv::Mat类中的矩阵运算符已被重载以执行A.mult(B),A + B,A-B,A / B等。

我有两个 vector ,分别是图像行和列的投影。我有两个图像(S和T),所以每个图像都有两个投影 vector (rowProejctionS,columnProjectionS,rowProjectionT,columnProjectionT)。我也有图像的均值(meanS,meanT)。我需要进行“产品总和”的相关计算,在MATLAB中如下

numeratorLambdaRo = sum((rowProjectionT - meanT).*(rowProjectionS - meanS));
denominatorLambdaRo = sqrt(sum((rowProjectionT - meanT).^2)*sum((rowProjectionS - meanS).^2);

LambaRo = numeratorLambdaRo/denominatorLambdaRo;

我对 cv::Mat对象上下文中的矩阵运算符的功能并不完全确定。

最佳答案

将meanT,meanS声明为double或cv::Scalar,就可以从矩阵中减去它。您也许可以拆分操作:

rowProjectionT -= meanT;
rowProjectionS -= meanS;
numeratoLambdaRo = cv::sum(rowProjectionT*rowProjectionS.t()); // transpose 1 of the vector so that multiplication is equivalent to dot product.

cv::Mat rowProjTSquare = rowProjectionT*rowProjectionT.t();
cv::Mat rowProjSSquare = rowProjectionS*rowProjectionS.t();
denominatorLambdaRo = sqrt(cv::sum(rowProjTSquare*rowProjSSquare));

关于opencv - 从OpenCV中的cv::Mat对象中减去固定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13119414/

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