gpt4 book ai didi

Opencv 乘以标量和矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 20:39:00 25 4
gpt4 key购买 nike

我一直在努力实现一些在 Matlab 中应该是微不足道的事情。

使用OpenCV的方法,我想简单地实现一些东西,比如:

cv::Mat sample = [4 5 6; 4 2 5; 1 4 2];      
sample = 5*sample;

在哪个样本之后应该是:

[20 25 30; 20 10 25; 5 20 10]

我已经尝试过 scaleAddMulMultiply 都不允许使用标量乘法器并且需要具有相同“大小和类型”的矩阵.在这种情况下,我可以创建一个矩阵,然后使用比例参数,但这看起来非常无关紧要

任何直接简单的方法都会很棒!

最佳答案

OpenCV 实际上支持用重载的 operator* 乘以标量值。不过,您可能需要正确初始化矩阵。

float data[] = {1 ,2, 3,
4, 5, 6,
7, 8, 9};
cv::Mat m(3, 3, CV_32FC1, data);
m = 3*m; // This works just fine

如果您主要对数学运算感兴趣,cv::Matx 会更容易使用:

cv::Matx33f mx(1,2,3,
4,5,6,
7,8,9);
mx *= 4; // This works too

关于Opencv 乘以标量和矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17892840/

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