我正在使用OpenCV进行像素级的乘法运算,将一张二维图像A(CV_32FC1)与另一张三维图像B(CV_32FC3)相乘,即将图像A在第三个方向上广播为三维图像,然后与图像B逐像素相乘。现在,我是这样做的:
vector<Mat> temp{imageA, imageA, imageA}; // imageA is CV_32FC1
merge(temp, sampA); // sameA is CV_32FC3 now, and each channel is same as imageA
Out = imageB.mul(sampA); // imageB is CV_32FC3, and do pixel-wise with sameA
我的问题是: 我能否使用OpenCV获得另一种更有效的方法来达到这个目的?比如OpenCV中的一个函数。
我知道这与MXNet中的“Broadcast”相同,即将2维图像沿第3个方向广播为3维图像,并且结果的每个通道都与输入的2维图像相同。
提前致谢 :-)