cv:StereoSGBM()换为Opencv c++函数
时间: 2024-05-04 11:20:06 浏览: 118
StereoSGBM()是OpenCV中的一个函数,可以用于计算视差图像。在C++中调用该函数的代码如下:
```cpp
#include <opencv2/opencv.hpp>
int main()
{
cv::Mat img1 = cv::imread("left.png", cv::IMREAD_GRAYSCALE);
cv::Mat img2 = cv::imread("right.png", cv::IMREAD_GRAYSCALE);
cv::Mat disp;
cv::Ptr<cv::StereoSGBM> sgbm = cv::StereoSGBM::create(0, 16, 3);
sgbm->compute(img1, img2, disp);
cv::imshow("disparity", disp);
cv::waitKey(0);
return 0;
}
```
其中,`img1`和`img2`分别是左右相机拍摄的灰度图像,`disp`是计算得到的视差图像。`cv::StereoSGBM::create()`函数用于创建一个`StereoSGBM`对象,并设置了一些参数,例如最小视差值为0,最大视差值为16,窗口大小为3。最后调用`compute()`函数计算出视差图像。
相关问题
OpenCV C++函数用法
OpenCV是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法。下面是一些常用的OpenCV C++函数用法的介绍:
1. cv::imread:用于读取图像文件,并将其加载到内存中。函数原型如下:
cv::Mat cv::imread(const std::string& filename, int flags);
OpenCV C++ sqrt函数
OpenCV C++中的sqrt函数是计算输入参数的平方根。它可以接受以下类型的参数:float、double、int、uchar、short和ushort。函数原型如下:
```cpp
double cv::sqrt (double x)
float cv::sqrt (float x)
int cv::sqrt (int x)
```
例如,使用以下代码可以计算一个double类型变量x的平方根:
```cpp
double x = 16.0;
double result = cv::sqrt(x);
```
阅读全文