0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么OpenCV使用BGR顏色格式?

新機(jī)器視覺 ? 來源:OpenCV與AI深度學(xué)習(xí) ? 作者:OpenCV與AI深度學(xué)習(xí) ? 2022-12-16 14:57 ? 次閱讀

良好設(shè)計(jì)的要素之一是最小驚訝原則(又稱最小意外原則)。一個(gè)好的直觀設(shè)計(jì)讓用戶不會(huì)思考。

當(dāng)你看到門上的把手時(shí),你想拉它。當(dāng)你看到一扇帶有金屬板的門時(shí),你想推它。這些是門的使用者的期望,當(dāng)門的設(shè)計(jì)者尊重這些期望時(shí),用戶可以在不施加任何精神能量的情況下使用門。但如果設(shè)計(jì)與用戶的期望不一致,那么簡(jiǎn)單的開門動(dòng)作就會(huì)成為一種心理負(fù)擔(dān)。

OpenCV 是一個(gè)非常有用的庫,但是說到最小意外原則,它就是一場(chǎng)不合格的災(zāi)難。當(dāng)我在 MATLAB 中編寫計(jì)算機(jī)視覺代碼時(shí),我很少參考文檔。在使用 OpenCV 時(shí),我在瀏覽器選項(xiàng)卡中永久打開了文檔。

OpenCV 的構(gòu)建似乎考慮到了最大驚喜的原則!這一切都始于默認(rèn)的 BGR 像素格式。它不適用于使用標(biāo)準(zhǔn) RGB 像素格式的庫。例如,當(dāng)您在 OpenCV 中使用imread讀取圖像后嘗試使用matplotlib顯示圖像時(shí),結(jié)果看起來很有趣。

“當(dāng)其他人及其阿姨都使用 RGB 時(shí),為什么不使用 RGB?”

這是我在幾個(gè)月前的一次會(huì)議上遇到 OpenCV 的創(chuàng)始人 Gary Bradski 博士時(shí)問他的問題,盡管我忽略了關(guān)于每個(gè)人和他們的阿姨使用 RGB 的部分。他用另一個(gè)問題回答了我的問題。

“為什么美國標(biāo)準(zhǔn)的鐵路軌距是 4 英尺 8.5 英寸?”

這個(gè)問題的答案當(dāng)然是“因?yàn)榱_馬馬的屁股!”

對(duì)于不知道這個(gè)不太真實(shí)的故事的人,我從snopes復(fù)制了以下內(nèi)容

abb1e7e0-7c7d-11ed-8abf-dac502259ad0.png

為什么他們?cè)?OpenCV 中選擇 BGR 顏色空間?

OpenCV 的早期開發(fā)人員之所以選擇 BGR 顏色格式,是因?yàn)楫?dāng)時(shí) BGR 顏色格式在相機(jī)制造商和軟件提供商中很流行。例如在 Windows 中,當(dāng)使用COLORREF指定顏色值時(shí),它們使用 BGR 格式0x00bbggrr。

BGR 是出于歷史原因做出的選擇,現(xiàn)在我們必須接受它。換句話說,BGR 是 OpenCV 中的馬的屁股。^_^

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    797

    瀏覽量

    58339
  • OpenCV
    +關(guān)注

    關(guān)注

    29

    文章

    625

    瀏覽量

    41215

原文標(biāo)題:冷知識(shí) | 為什么OpenCV使用BGR顏色格式?

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于OPENCV的相機(jī)捕捉視頻進(jìn)行人臉檢測(cè)--米爾NXP i.MX93開發(fā)板

    攝像頭)1、安裝python3-opencvaptinstallpython3-opencv2、查看攝像頭支持的格式與分辨率root@de
    的頭像 發(fā)表于 11-07 09:03 ?579次閱讀
    基于<b class='flag-5'>OPENCV</b>的相機(jī)捕捉視頻進(jìn)行人臉檢測(cè)--米爾NXP i.MX93開發(fā)板

    OpenCV圖像識(shí)別C++代碼

    安裝OpenCV庫 首先,您需要在您的計(jì)算機(jī)上安裝OpenCV庫。您可以從OpenCV官網(wǎng)下載預(yù)編譯的庫或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫文件添加到您的項(xiàng)目中。
    的頭像 發(fā)表于 07-16 10:42 ?1664次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV
    的頭像 發(fā)表于 07-16 10:38 ?882次閱讀

    opencv的主要功能有哪些

    OpenCV(Open Source Computer Vision Library)是一個(gè)開源的計(jì)算機(jī)視覺庫,提供了大量的計(jì)算機(jī)視覺算法和工具。以下是OpenCV的主要功能: 圖像處理
    的頭像 發(fā)表于 07-16 10:35 ?1243次閱讀

    emWin轉(zhuǎn)RGB565顏色失真怎么解決?

    我今天測(cè)試了一下一張純色圖片RGB24 的格式 顏色值:0xe9e9e9,用ST的BmpCvtST.exe轉(zhuǎn)出來RGB565格式的 里面全是0xE75C。 用Img2Lcd轉(zhuǎn)出來的是0xEF5D
    發(fā)表于 04-24 06:31

    【米爾-全志T113-i開發(fā)板試用】發(fā)布opencv-mobile米爾t113i專享預(yù)編譯包

    ); fclose(fp); return (strncmp(buf, \"sun8iw20\", 8) == 0); } opencv highgui 模塊整合t113-i
    發(fā)表于 02-25 20:23

    如何實(shí)現(xiàn)PIL和OpenCV之間圖像數(shù)據(jù)的轉(zhuǎn)換呢?

    PIL圖像數(shù)據(jù)格式轉(zhuǎn)換成OpenCV圖像數(shù)據(jù)格式
    的頭像 發(fā)表于 02-25 13:43 ?1130次閱讀

    【米爾-全志T113-i開發(fā)板試用】基礎(chǔ)開發(fā)環(huán)境配置和opencv-mobile移植測(cè)試

    /highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> int main() { cv::Mat bgr = cv
    發(fā)表于 01-23 15:13

    在全志H616核桃派上實(shí)現(xiàn)USB攝像頭的OpenCV顏色檢測(cè)

    像素格式。顏色還是那個(gè)顏色,只是描述顏色用的參數(shù)變了。h代表色調(diào),s代表飽和度,v代表明度,比使用rgb格式更方便計(jì)算與思考。
    發(fā)表于 01-22 10:10

    在核桃派上實(shí)現(xiàn)USB攝像頭的OpenCV顏色檢測(cè)

    在前幾周的文章中已經(jīng)介紹過如何在核桃派上用OpenCV讀取圖像并顯示到pyqt5的窗口上,這里在上一篇文章的基礎(chǔ)上,給開發(fā)板加入顏色檢測(cè)功能,嘗試將圖像中所有藍(lán)色的東西都用一個(gè)框標(biāo)記出來。
    的頭像 發(fā)表于 01-20 17:50 ?876次閱讀
    在核桃派上實(shí)現(xiàn)USB攝像頭的<b class='flag-5'>OpenCV</b><b class='flag-5'>顏色</b>檢測(cè)

    【米爾-全志T113-i開發(fā)板試用】基礎(chǔ)開發(fā)環(huán)境配置和opencv-mobile移植測(cè)試

    /highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> int main() { cv::Mat bgr = cv
    發(fā)表于 12-27 20:04

    OpenCV4.8 CUDA編程代碼教程

    OpenCV4支持通過GPU實(shí)現(xiàn)CUDA加速執(zhí)行,實(shí)現(xiàn)對(duì)OpenCV圖像處理程序的加速運(yùn)行,當(dāng)前支持加速的模塊包括如下。
    的頭像 發(fā)表于 12-05 09:56 ?958次閱讀
    <b class='flag-5'>OpenCV</b>4.8 CUDA編程代碼教程

    OpenCV對(duì)openEuler提供上游原生支持

    2023年11月17日,OpenCV社區(qū)正式接納openEuler作為持續(xù)集成(Continuous Integration,CI)系統(tǒng)的操作系統(tǒng)之一,對(duì)openEuler提供上游原生支持
    的頭像 發(fā)表于 11-20 09:14 ?799次閱讀

    條形液晶屏有哪些顏色模式?

    條形液晶屏有哪些顏色模式? 條形液晶屏的顏色模式主要取決于屏幕的制造工藝和顯示技術(shù)。一般來說,液晶屏的顏色模式主要有RGB和BGR兩種。 RGB模式是傳統(tǒng)的顯示模式,它使用紅綠藍(lán)三種基
    的頭像 發(fā)表于 11-14 14:14 ?522次閱讀

    OpenCV實(shí)驗(yàn)大師平臺(tái)安裝指南

    工程與技術(shù)培訓(xùn)得痛點(diǎn)深深教育了我,讓我知道“工欲善其事必先利其器”。通過一年多得努力開發(fā)與不斷打磨,一款能夠提升OpenCV教學(xué)質(zhì)量與OpenCV工程化開發(fā)質(zhì)量與速度的工具軟件成功出現(xiàn)了。它就
    的頭像 發(fā)表于 11-13 11:43 ?806次閱讀
    <b class='flag-5'>OpenCV</b>實(shí)驗(yàn)大師平臺(tái)安裝指南