ZBLOG

将 3 通道的 cv::Mat 转为单通道

要将一个 3 通道的 cv::Mat 转换为单通道,可以使用 OpenCV 中的 cv::cvtColor 函数。下面是一个示例代码,演示如何实现这一点:

  1. #include <opencv2/opencv.hpp>
  2. int main() {
  3. // 读取一张彩色图片 (3通道)
  4. cv::Mat img = cv::imread("path_to_your_image.jpg");
  5. // 检查图片是否成功加载
  6. if (img.empty()) {
  7. std::cerr << "Error: Unable to open image!" << std::endl;
  8. return -1;
  9. }
  10. // 创建一个单通道图像
  11. cv::Mat grayImg;
  12. // 将3通道图像转换为单通道(灰度图)
  13. cv::cvtColor(img, grayImg, cv::COLOR_BGR2GRAY);
  14. // 显示结果
  15. cv::imshow("Original Image", img);
  16. cv::imshow("Gray Image", grayImg);
  17. // 等待按键
  18. cv::waitKey(0);
  19. return 0;
  20. }

说明:

  • 使用 cv::imread 函数读取输入图像。
  • 使用 cv::cvtColor 函数进行颜色空间转换,其中 cv::COLOR_BGR2GRAY 表示从 BGR 到灰度的转换。
  • 最后通过 cv::imshow 显示原始和转换后的图像。

记得替换 "path_to_your_image.jpg" 为你实际的图片路径。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22995

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?