日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【opencv】14.cv::cvtColor函数转换颜色空间时使用CV_RGB2BGR与CV_BGR2RGB结果一样的原因

發(fā)布時間:2025/3/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【opencv】14.cv::cvtColor函数转换颜色空间时使用CV_RGB2BGR与CV_BGR2RGB结果一样的原因 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

看下面一段代碼:

cv::Mat img1 = imread("./lena_bgr.png",1); cv::Mat img2,img3; cv::cvtColor(img1, img2, CV_RGB2BGR); cv::cvtColor(img1, img3, CV_BGR2RGB); cv::imshow("img1", img1); cv::imshow("img2", img2); cv::imshow("img3", img3); cv::waitKey(0);

可以看出,img2和img3的圖片是一模一樣的。因為CV_RGB2BGR與CV_BGR2RGB的值都為4,表示交換B和R通道的值。定義在/usr/local/include/opencv2/imgproc/types_c.h中,可以看到以下枚舉定義:

CV_BGR2RGB =4, CV_RGB2BGR =CV_BGR2RGB,

底層算法確實是一樣的,RGB和BGR互相轉(zhuǎn)化也就是把R和B數(shù)據(jù)互換位置:

  • 當你輸入是RGB格式時,轉(zhuǎn)化后就變成BGR格式;
  • 當你輸入是BGR格式時,轉(zhuǎn)化后就變成RGB格式;
  • 當你對一個圖像使用cv::cvtColor()進行連續(xù)兩次in-place的CV_RGB2BGR操作,就變回原來的顏色空間了。

上面的CV_RGB2BGR和CV_BGR2RGB是opencv2.x版本的;
opencv3.0版本的是 cv::COLOR_RGB2BGR和cv::COLOR_BGR2RGB 。
他們定義在/usr/local/include/opencv2/imgproc.hpp中的命名空間為cv里面:

COLOR_BGR2RGB = 4, COLOR_RGB2BGR = COLOR_BGR2RGB,

類似的還有:

enum{CV_BGR2BGRA =0,CV_RGB2RGBA =CV_BGR2BGRA,CV_BGRA2BGR =1,CV_RGBA2RGB =CV_BGRA2BGR,CV_BGR2RGBA =2,CV_RGB2BGRA =CV_BGR2RGBA,CV_RGBA2BGR =3,CV_BGRA2RGB =CV_RGBA2BGR,CV_BGR2RGB =4,CV_RGB2BGR =CV_BGR2RGB,CV_BGRA2RGBA =5,CV_RGBA2BGRA =CV_BGRA2RGBA,CV_BGR2GRAY =6,CV_RGB2GRAY =7,CV_GRAY2BGR =8,CV_GRAY2RGB =CV_GRAY2BGR,CV_GRAY2BGRA =9,CV_GRAY2RGBA =CV_GRAY2BGRA,CV_BGRA2GRAY =10,CV_RGBA2GRAY =11,...... }

總結(jié)

以上是生活随笔為你收集整理的【opencv】14.cv::cvtColor函数转换颜色空间时使用CV_RGB2BGR与CV_BGR2RGB结果一样的原因的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。