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

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

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

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

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

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

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

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

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

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

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

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

這個問題的答案當(dāng)然是“因為羅馬馬的屁股!”

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

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

為什么他們在 OpenCV 中選擇 BGR 顏色空間?

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

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

審核編輯 :李倩

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

    關(guān)注

    4

    文章

    800

    瀏覽量

    58597
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    635

    瀏覽量

    41419

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    如何選擇PCB顏色

    一、PCB顏色代表什么意思? ? PCB顏色一般是指拿到一塊PCB板時最直觀看到的板子上的油色,PCB表面的顏色就是阻焊劑的顏色。PCB板染色顏料是一種硬化樹脂,主體樹脂是無色近透明的
    的頭像 發(fā)表于 12-24 11:33 ?354次閱讀

    【AI實戰(zhàn)項目】基于OpenCV的“顏色識別項目”完整操作過程

    OpenCV是一個廣受歡迎且極為流行的計算機視覺庫,它因其強大的功能、靈活性和開源特性而在開發(fā)者和研究者中備受青睞。學(xué)習(xí)OpenCV主要就是學(xué)習(xí)里面的計算機視覺算法。要學(xué)習(xí)這些算法的原理,知道它們
    的頭像 發(fā)表于 12-09 16:42 ?435次閱讀
    【AI實戰(zhàn)項目】基于<b class='flag-5'>OpenCV</b>的“<b class='flag-5'>顏色</b>識別項目”完整操作過程

    腳本美化高手之輕松實現(xiàn)文本顏色和背景定制的酷炫Shell技巧

    ?33[0m Hello World " 輸出效果如下: 它的格式是這樣的: echo -e "?33[字背景顏色;字體顏色m 字符串 ?33[0m" 或者printf "?33[字背景顏色
    的頭像 發(fā)表于 12-06 10:38 ?163次閱讀
    腳本美化高手之輕松實現(xiàn)文本<b class='flag-5'>顏色</b>和背景定制的酷炫Shell技巧

    基于OpenCV的拆分和合并圖像通道實驗案例分享_基于RK3568教學(xué)實驗箱

    一、實驗?zāi)康?本節(jié)視頻的目的是了解圖像通道的概念,學(xué)習(xí)OpenCV的基本操作,并掌握通過OpenCV實現(xiàn)拆分和合并圖像通道的方法。 二、實驗原理 拆分與合并圖像 在圖像處理中,一個彩色圖像通常由多個
    發(fā)表于 12-03 14:27

    RK3568 + OpenCV 會碰撞出什么火花?案例詳解:2-1 基于OpenCV的畫線實驗

    一、實驗?zāi)康?本節(jié)視頻的目的是了解OpenCV的作用并通過OpenCV實現(xiàn)畫線。 二、實驗原理 OpenCV 開放源代碼計算機視覺庫 OpenCV(Open source Comput
    發(fā)表于 12-03 14:09

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

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

    OpenCV圖像識別C++代碼

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

    opencv-python和opencv一樣嗎

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

    opencv的主要功能有哪些

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

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

    我今天測試了一下一張純色圖片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

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

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

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

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

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

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

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

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