最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

快速解決cv2.imread()讀取圖像為BGR的問題

 更新時(shí)間:2021年03月16日 14:40:03   作者:阿達(dá)西家  
這篇文章主要介紹了快速解決cv2.imread()讀取圖像為BGR的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

opencv讀取圖像為b,g,r方法,比如

img = cv2.imread("xx.jpg")
cv2.imshow("xx",img)

展示的結(jié)果是正常的:

但是此時(shí)讀取到的img已經(jīng)為bgr方式了,如果我們再用其他使用rgb方式讀取的函數(shù)進(jìn)行讀取時(shí)就會(huì)出錯(cuò),比如我用plt對圖像進(jìn)行顯示,效果如下:

因?yàn)閜lt函數(shù)是rgb方式讀取的,所以會(huì)出錯(cuò)。這時(shí)我們可以手動(dòng)改變img的通道順序,如下:

b,g,r = cv2.split(img)
img_rgb = cv2.merge([r,g,b])
plt.figure()
plt.imshow(img_rgb)
plt.show()

這時(shí)img_rgb就是rgb順序的了.那么這時(shí)再用cv2.imshow()顯示出來,rgb錯(cuò)誤:

補(bǔ)充:盤點(diǎn)踩過的關(guān)于cv2 和PIL 圖像讀取的一些小坑

1、首先像素讀取順序不同

PIL 讀取圖像時(shí)的像素順序是標(biāo)準(zhǔn)的RGB

from PIL import Image
img = Image.open("test.jpg")
print img.size
print img.getpixel((0,0))

輸出結(jié)果是

(533, 800)
(217, 229, 225)

cv2 讀取圖像時(shí)的像素順序是標(biāo)準(zhǔn)的BGR

img = cv2.imread(""test.jpg"")
print img.shape
print img[0][0]

輸出結(jié)果是

(800, 533, 3)
[225 229 217]

若要cv2讀取完圖像也是RGB格式,則按如下方法

img = cv2.imread(""test.jpg"")[..., ::-1]
print img.shape
print img[0][0]

輸出結(jié)果是

(800, 533, 3)
[217 229 225]

和用PIL 讀取完的一致

2、cv2 圖像讀取方法的參數(shù)解釋

首先我們先來看一下這個(gè)函數(shù)的定義

def imread(filename, flags=None)

filename

參數(shù)傳入的是圖像路徑,支持解析的圖像格式基本上覆蓋全了

- Windows bitmaps - \*.bmp, \*.dib (always supported)
- JPEG files - \*.jpeg, \*.jpg, \*.jpe (see the *Note* section)
- JPEG 2000 files - \*.jp2 (see the *Note* section)
- Portable Network Graphics - \*.png (see the *Note* section)
- WebP - \*.webp (see the *Note* section)
- Portable image format - \*.pbm, \*.pgm, \*.ppm \*.pxm, \*.pnm (always supported)
- Sun rasters - \*.sr, \*.ras (always supported)
- TIFF files - \*.tiff, \*.tif (see the *Note* section)
- OpenEXR Image files - \*.exr (see the *Note* section)
- Radiance HDR - \*.hdr, \*.pic (always supported)
- Raster and Vector geospatial data supported by GDAL (see the *Note* section)

flags

@param flags Flag that can take values of cv::ImreadModes

Flags指定了所讀取圖片的顏色類型, 默認(rèn)值為1

對應(yīng)值為 -1 到 4

參數(shù) Value
IMREAD_UNCHANGED If set, return the loaded image as is (with alpha channel, otherwise it gets cropped).
IMREAD_GRAYSCALE If set, always convert image to the single channel grayscale image.
IMREAD_COLOR If set, always convert image to the 3 channel BGR color image.
IMREAD_ANYDEPTH If set, return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit.
IMREAD_ANYCOLOR If set, the image is read in any possible color format.
IMREAD_LOAD_GDAL If set, use the gdal driver for loading the image.
參數(shù) Value
flag=-1時(shí) 8位深度,原通道
flag=0 8位深度,1通道
flag=1 8位深度 ,3通道
flag=2 原深度,1通道
flag=3 原深度,3通道
flag=4 8位深度 ,3通道

IMREAD_UNCHANGED :不進(jìn)行轉(zhuǎn)化,比如保存為了16位的圖片,讀取出來仍然為16位。

IMREAD_GRAYSCALE :進(jìn)行轉(zhuǎn)化為灰度圖,比如保存為了16位的圖片,讀取出來為8位,類型為CV_8UC1。

IMREAD_COLOR :進(jìn)行轉(zhuǎn)化為三通道圖像。

IMREAD_ANYDEPTH :如果圖像深度為16位則讀出為16位,32位則讀出為32位,其余的轉(zhuǎn)化為8位。

IMREAD_ANYCOLOR

IMREAD_LOAD_GDAL :使用GDAL驅(qū)動(dòng)讀取文件,GDAL(Geospatial Data Abstraction Library)是一個(gè)在X/MIT許可協(xié)議下的開源柵格空間數(shù)據(jù)轉(zhuǎn)換庫。它利用抽象數(shù)據(jù)模型來表達(dá)所支持的各種文件格式。它還有一系列命令行工具來進(jìn)行數(shù)據(jù)轉(zhuǎn)換和處理。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Django實(shí)現(xiàn)微信小程序支付的示例代碼

    Django實(shí)現(xiàn)微信小程序支付的示例代碼

    這篇文章主要介紹了Django實(shí)現(xiàn)微信小程序支付的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python程序運(yùn)行進(jìn)程、使用時(shí)間、剩余時(shí)間顯示功能的實(shí)現(xiàn)代碼

    python程序運(yùn)行進(jìn)程、使用時(shí)間、剩余時(shí)間顯示功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了python程序運(yùn)行進(jìn)程、使用時(shí)間、剩余時(shí)間顯示功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-07-07
  • Python3 Post登錄并且保存cookie登錄其他頁面的方法

    Python3 Post登錄并且保存cookie登錄其他頁面的方法

    今天小編就為大家分享一篇Python3 Post登錄并且保存cookie登錄其他頁面的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python3 hashlib密碼散列算法原理詳解

    Python3 hashlib密碼散列算法原理詳解

    這篇文章主要介紹了Python3 hashlib密碼散列算法原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Flask WTForms 表單插件的使用

    Flask WTForms 表單插件的使用

    本文主要介紹了Flask WTForms表單插件的使用,Python的WTForms庫通過提供表單的結(jié)構(gòu)、驗(yàn)證和渲染等功能,簡化了表單的處理流程,感興趣的可以了解一下
    2023-11-11
  • 在Sublime Editor中配置Python環(huán)境的詳細(xì)教程

    在Sublime Editor中配置Python環(huán)境的詳細(xì)教程

    這篇文章主要介紹在sublime編輯器中安裝python軟件包,以 實(shí)現(xiàn)自動(dòng)完成等功能,并在sublime編輯器本身中運(yùn)行build,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2020-05-05
  • python將MongoDB里的ObjectId轉(zhuǎn)換為時(shí)間戳的方法

    python將MongoDB里的ObjectId轉(zhuǎn)換為時(shí)間戳的方法

    這篇文章主要介紹了python將MongoDB里的ObjectId轉(zhuǎn)換為時(shí)間戳的方法,涉及Python操作MongoDB及字符串轉(zhuǎn)換的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • Python Threading 線程/互斥鎖/死鎖/GIL鎖

    Python Threading 線程/互斥鎖/死鎖/GIL鎖

    這篇文章主要介紹了Python Threading 線程/互斥鎖/死鎖/GIL鎖的相關(guān)知識,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python scrapy爬取蘇州二手房交易數(shù)據(jù)

    Python scrapy爬取蘇州二手房交易數(shù)據(jù)

    scrapy的第二個(gè)實(shí)例對比上一個(gè),在數(shù)據(jù)處理上增加了新的需求,運(yùn)用了管道文件pipelines.py,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • PyTorch中Tensor的維度變換實(shí)現(xiàn)

    PyTorch中Tensor的維度變換實(shí)現(xiàn)

    這篇文章主要介紹了PyTorch中Tensor的維度變換實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評論

鄂尔多斯市| 泰州市| 土默特左旗| 峨眉山市| 遵义县| 科尔| 会同县| 蕉岭县| 东方市| 大英县| 扶绥县| 镇宁| 临朐县| 安福县| 汝南县| 汉沽区| 和龙市| 海伦市| 贺州市| 和林格尔县| 池州市| 建水县| 保德县| 镇安县| 蒲城县| 阿尔山市| 嘉义市| 台前县| 溆浦县| 江永县| 七台河市| 宝兴县| 全椒县| 蓬莱市| 达拉特旗| 宽城| 饶平县| 德惠市| 厦门市| 古蔺县| 雅安市|