在add/subtract/multiply/divide函数中输入数组的类型不同时,在cv::arithm_op函数中必须明确指定输出数组的类型,给我举个例子
时间: 2024-05-29 07:09:25 浏览: 144
数组的各种输入输出方式
好的,这是一个例子:假设有两个数组A和B,其中A是uchar类型的数组,B是float类型的数组,我们想要对它们进行减法操作,那么在使用cv::arithm_op函数时,需要明确指定输出数组的类型为float型,示例代码如下:
cv::Mat A = cv::Mat::ones(3, 3, CV_8U) * 10; // 创建一个3x3的uchar类型矩阵,所有元素的值均为10
cv::Mat B = cv::Mat::ones(3, 3, CV_32F) * 3.14f; // 创建一个3x3的float类型矩阵,所有元素的值均为3.14
cv::Mat C; // 创建一个输出矩阵,类型为float
cv::subtract(A, B, C, cv::noArray(), CV_32F); // 对A和B做减法操作,输出存储到C矩阵中,输出类型为float
注意,第四个参数为cv::noArray(),表示没有掩模操作,第五个参数为CV_32F,表示输出数组的类型为float型。
阅读全文