> 文章列表 > OpenCV——常用函数

OpenCV——常用函数

OpenCV——常用函数

        cv::circle(overlay, pt, 2, cv::Scalar(0,green,red),-1);  

使用OpenCV库中的`circle()`函数在图像上绘制圆形的代码。

具体来说,它的参数如下:

- `overlay`:图像,在该图像上绘制圆形;
- `pt`:圆心位置的`cv::Point`对象;
- `5`:圆形半径;
- `cv::Scalar(0,green,red)`:圆形的颜色,这里使用的是RGB颜色空间中的颜色值`[0,green,red]`。在这里,`green`和`red`变量的值分别控制了绿色和红色的比例,因此可以通过更改这些变量的值来获得不同颜色的圆形;
- `-1`:表示绘制一个实心圆形。

因此,这行代码的作用就是在名为`overlay`的图像上绘制一个圆心为`pt`,半径为5,颜色为指定颜色值的实心圆形。

    cv::addWeighted(overlay,opacity,visImg,1-opacity,0,visImg);

使用OpenCV库中的`addWeighted()`函数将两张图像进行混合的代码。

具体而言,它的参数如下:

-  `overlay`:第一张图像,也称为背景图像;
-  `opacity`:`overlay`图像在混合中的不透明度,控制其在混合中的权重,取值范围为[0,1](0表示完全透明,1表示完全不透明);
-  `visImg`:第二张图像,也称为前景图像;
-  `1-opacity`:`visImg`图像在混合中的不透明度,即与`overlay`图像的透明度相反;
-  `0`:新图像的值被计算为两幅图像相加之和,再加上这个参数,即新图像的值为`alpha*overlay  +  beta*visImg  +  gamma`,其中gamma为用户自定义的值(这里为0);
-  `visImg`:混合后得到的新图像。

因此,这行代码的作用就是将具有不同透明度的两个图像混合到一起,即在`visImg`图像上叠加一张透明度为`opacity`的`overlay`图像。混合后的图像将被存储在`visImg`中,`overlay`图像不会被修改。