gpt4 book ai didi

c# - EmguCV中图像之间的乘法运算

转载 作者:行者123 更新时间:2023-11-30 22:19:40 25 4
gpt4 key购买 nike

我想知道 EmguCV 是否允许一种简单有效的方法来完成 MATLAB 中使用以下行完成的操作:

C = A .* B

(假设A、B、C是表示相同维度和类型的灰度图像的矩阵)。

假设我想做与上面相同的操作,但使用两个 Image<Gray, byte> EmguCV 的对象,问题是:有没有办法将两个具有相同维度的图像逐点相乘?

最佳答案

我解决了这个问题。假设我们有三张灰度图,定义如下:

//We can use, for example, two files with the same dimensions, e.g. 100x100
Image<Gray, byte> A = new Image<Gray, byte>("imgA_100x100.jpg");
Image<Gray, byte> B = new Image<Gray, byte>("imgB_100x100.jpg");

//The image C will be the result of point-by-point multiplication
//We need to initialize it
Image<Gray, byte> C = new Image<Gray, byte>(A.Width, A.Height);

为了执行乘法,您只需使用以下代码:

CvInvoke.cvMul(A.Ptr, B.Ptr, C.Ptr, scale);

上面的代码行逐点执行乘法,比例因子我称为scale。使用伪代码来解释上面代码的含义,我们可以说:

C[i, j] = A[i, j] * B[i, j] * scale

关于c# - EmguCV中图像之间的乘法运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15441060/

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