OpenCV C++函数用法
时间: 2024-04-30 11:14:49 浏览: 15
OpenCV是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法。下面是一些常用的OpenCV C++函数用法的介绍:
1. cv::imread:用于读取图像文件,并将其加载到内存中。函数原型如下:
cv::Mat cv::imread(const std::string& filename, int flags);
相关问题
opencv C++ imread函数的使用方法
OpenCV 中的 imread() 函数用于读取图像文件,可以使用以下方法:
``` c++
#include <opencv2/opencv.hpp>
int main() {
// 读取彩色图像
cv::Mat img = cv::imread("image.jpg", cv::IMREAD_COLOR);
// 读取灰度图像
cv::Mat gray_img = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE);
// 读取带透明度通道的彩色图像
cv::Mat alpha_img = cv::imread("image.png", cv::IMREAD_UNCHANGED);
// 显示图像
cv::imshow("image", img);
cv::waitKey(0);
cv::destroyAllWindows();
return 0;
}
```
其中,"image.jpg" 是要读取的图像文件的路径和文件名,可以是绝对路径或相对路径。cv::IMREAD_COLOR、cv::IMREAD_GRAYSCALE 和 cv::IMREAD_UNCHANGED 是可选参数,用于指定读取图像的方式。
读取的图像数据格式是 cv::Mat,可以使用 cv::imshow() 函数将图像显示出来,cv::waitKey() 用于等待用户对窗口进行操作,cv::destroyAllWindows() 用于关闭窗口。需要注意的是,C++ 中的 OpenCV 函数名是以 cv:: 开头的,而不是 cv2.
opencv c++ 中uniform函数用法
在OpenCV C++中,uniform函数用于生成随机分布的数组。它的语法如下:
```cpp
void cv::randu(InputOutputArray dst, InputArray lowerb, InputArray upperb)
```
其中,参数意义如下:
- `dst`:输出的数组。
- `lowerb`:下限值。
- `upperb`:上限值。
`randu`函数会生成一个位于`[lowerb, upperb]`之间的随机分布的数组,并将结果存储在输出数组`dst`中。
例如,下面的代码演示了如何使用uniform函数生成一个5行5列、元素值位于[0,1]之间的浮点型矩阵:
```cpp
cv::Mat mat(5, 5, CV_32F);
cv::randu(mat, cv::Scalar(0), cv::Scalar(1));
```