用c++的多线程编程,利用opencv在同一时间,同时显示读取的两张图片
时间: 2024-02-17 10:02:07 浏览: 34
可以使用C++11标准的`std::thread`库来实现多线程编程。以下是一个示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <thread>
using namespace cv;
void displayImage(Mat img, const char* windowName)
{
namedWindow(windowName, WINDOW_NORMAL);
imshow(windowName, img);
}
int main()
{
// 读取两张图片
Mat img1 = imread("image1.jpg");
Mat img2 = imread("image2.jpg");
// 创建两个线程,分别用于显示两张图片
std::thread t1(displayImage, img1, "Image 1");
std::thread t2(displayImage, img2, "Image 2");
// 等待两个线程结束
t1.join();
t2.join();
// 等待用户按下任意键退出
waitKey(0);
// 关闭窗口
destroyAllWindows();
return 0;
}
```
在这个示例中,我们创建了两个线程,分别用于显示两张图片。每个线程调用了`displayImage()`函数,该函数接受图片和窗口名作为参数,并显示图片。主线程等待两个线程结束后,等待用户按下任意键退出程序。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)