验证opencv中图像存储模式是BGR

Mat src = imread("./image/1.png");
namedWindow("src", CV_WINDOW_NORMAL);
imshow("src", src);//原图像
Mat rgb[3];
split(src, rgb);
namedWindow("B", CV_WINDOW_NORMAL);
imshow("B", rgb[0]);//第一个通道存放B分量
namedWindow("G", CV_WINDOW_NORMAL);
imshow("G", rgb[1]);//第二个通道存放G分量
namedWindow("R", CV_WINDOW_NORMAL);
imshow("R", rgb[2]);//第三个通道存放R分量
waitKey(0);

在这里插入图片描述
第一张图是源图像,第二张图取的源图像0通道分量,图中可以看出只有B值(白色),R、G值为0(黑色),所以0通道存放的是B分量,依次类推,1通道和2通道分别存放的是G分量和R分量。所以opencv中图像存取模式是BGR模式。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个基于 C++ 的 Visual Studio 程序示例,用于验证 OpenCV 是否能够在多个线程下运行: ```cpp #include <iostream> #include <thread> #include <opencv2/opencv.hpp> // 子函数,用于在多个子线程运行的任务 void task(int threadId) { cv::Mat image = cv::imread("image.jpg"); if (image.empty()) { std::cout << "Thread " << threadId << ": Failed to load image." << std::endl; return; } cv::cvtColor(image, image, cv::COLOR_BGR2GRAY); cv::GaussianBlur(image, image, cv::Size(5, 5), 0); std::string outputPath = "output_" + std::to_string(threadId) + ".jpg"; cv::imwrite(outputPath, image); std::cout << "Thread " << threadId << ": Image processed and saved as " << outputPath << std::endl; } int main() { const int numThreads = 5; // 假设有5个子线程 // 创建一个存储子线程对象的数组 std::thread threads[numThreads]; // 启动多个子线程,并将每个子线程分配给一个任务 for (int i = 0; i < numThreads; i++) { threads[i] = std::thread(task, i); } // 等待所有子线程完成 for (int i = 0; i < numThreads; i++) { threads[i].join(); } std::cout << "All threads have completed." << std::endl; return 0; } ``` 在这个示例,我们使用 OpenCV 进行图像处理。在 `task` 函数,我们首先读取名为 "image.jpg" 的图像文件。然后,我们将图像转换为灰度图像,并应用高斯模糊。最后,我们将处理后的图像保存为一个带有线程标识符的输出文件。 在 `main` 函数,我们创建了一个存储子线程对象的数组,并使用一个循环启动了 `numThreads` 个子线程,每个子线程分配给一个任务。然后,我们使用另一个循环等待所有子线程完成,并输出完成的信息。 通过这个程序,你可以验证 OpenCV 是否能够在多个线程下运行。每个子线程都会加载图像、进行图像处理并保存结果。请注意,在实际应用,你需要小心处理线程间的同步和数据共享问题,并确保 OpenCV 的函数调用是线程安全的。 希望这个示例能够帮助你验证 OpenCV 在多个线程下的运行情况!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值