cv::divide()是一个简单的除法函数,有以下两种用法:
用法1:
void cv::divide(
cv::InputArray src1, // 输入数组1 (分子)
cv::InputArray src2, // 输入数组1 (分母)
cv::OutputArray dst, // 输出数组 (scale*src1/src2)
double scale = 1.0, // 乘数因子
int dtype = -1 // 输出数组类型, -1表示与src2相同。
);
用法2:
void cv::divide(
double scale, // 所有分子的分母
cv::InputArray src2, // 输入数组 (denominators)
cv::OutputArray dst, // 输出数组 (scale/src2)
int dtype = -1 // 输出数组类型, -1表示与src2相同。
);
下面通过两个具体的例子来分别看两种用法的计算效果:
用法1:
cv::Mat img0 = cv::imread("img_0.jpg", -1);
cv::Mat img1 = cv::imread("img_1.jpg", -1);
if (img0.empty())
{
std::cout << "load img0 failed!\n" << std::endl;
return -1;
}
if (img1.empty())
{
std::cout << "load img1 failed!\n" << std::endl;
return -1;
}
cv::Mat img2;
cv::divide(img0, img1, img2, 50, -1);
cv::imshow("img0", img0);
cv::imshow("img1", img1);
cv::imshow("img2", img2);
cv::waitKey(0);
return 0;
结果如下:
用法2:
cv::Mat img0 = cv::imread("img_1.jpg", -1);
if (img0.empty())
{
std::cout << "load img0 failed!\n" << std::endl;
return -1;
}
cv::Mat img1;
cv::divide(5000, img0, img1, -1);
cv::imshow("img0", img0);
cv::imshow("img1", img1);
cv::waitKey(0);
return 0;
结果如下:
版权声明:本文为guduruyu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。