python?OpenCV?圖像通道數(shù)判斷
前言
OpenCV是圖像處理常用的庫,作為初學(xué)者,往往從圖片的讀取、保存、查詢圖片的信息開始,下面將分享Python下OpenCV的一些基本使用方法,掌握這些基本方法后,能夠更好地與matplotlib、numpy等結(jié)合使用,完成相應(yīng)的圖像操作。
教程
1、讀取/保存圖片
1)imread和imwrite方法
注:此方法遇到中文路徑會(huì)報(bào)錯(cuò)!
import cv2
# 參數(shù)1:文件路徑
# 參數(shù)2:讀取方式
# 常用幾種模式:
# 灰度圖:cv2.IMREAD_GRAYSCALE
# BGR三通道彩色圖:cv2.IMREAD_COLOR
# 原始通道(自動(dòng)判斷:單通道/三通道/四通道等):cv2.IMREAD_UNCHANGED
img = cv2.imread('圖像文件路徑(全英文)', cv2.IMREAD_COLOR)
# 參數(shù)1:文件路徑
# 參數(shù)2:待保存的圖像(BGR格式的uint8 ndarray類型)
# 參數(shù)3【可選】:壓縮模式以及質(zhì)量等
# 常用幾種模式:
# 灰度圖:cv2.IMREAD_GRAYSCALE
# BGR三通道彩色圖:cv2.IMREAD_COLOR
# 原始通道(自動(dòng)判斷:單通道/三通道/四通道等):cv2.IMREAD_UNCHANGED
img_saved = cv2.imwrite('圖像輸出路徑(含圖像名)', img)
2)imdecode和imencode方法
import cv2 import numpy as np # cv2.imdecode():從指定的內(nèi)存緩存中讀取數(shù)據(jù),并把數(shù)據(jù)轉(zhuǎn)換成圖像格式 src_img_path = './image.png' img=cv2.imdecode(np.fromfile(src_img_path, dtype=np.uint8),cv2.IMREAD_UNCHANGED) # cv2.imencode():將圖片格式轉(zhuǎn)換成流數(shù)據(jù),寫入內(nèi)存緩存中,可以再調(diào)用.tofile()寫入到磁盤中 out_img_path = './image.jpg' extension = '.jpg' cv2.imencode(extension,img)[1].tofile(out_img_path)
2、編碼轉(zhuǎn)換
1)BGR轉(zhuǎn)RGB
matplotlib.pyplot的imshow()方法廣泛用于顯示圖像,然而opencv默認(rèn)加載的圖像時(shí)BGR格式,直接顯示會(huì)出現(xiàn)顏色異常,需要先進(jìn)行轉(zhuǎn)換
img_rgb = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
2)BGR轉(zhuǎn)GRAY
三通道的BRG彩色圖像轉(zhuǎn)換成單通道的灰度圖
img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
3、快速判斷圖像是否單通道灰度圖
if img.ndim == 2:
print('圖像是單通道灰度圖')
else:
print('圖像包含多個(gè)通道')
4、獲取圖像通道數(shù)
def get_n_channel(img):
if img.ndim == 2:
print('通道數(shù):1')
return 1
else:
print('圖像包含多個(gè)通道')
return img.shape[2]到此這篇關(guān)于python OpenCV 圖像通道數(shù)判斷的文章就介紹到這了,更多相關(guān)OpenCV 圖像通道數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python?OpenCV超詳細(xì)講解調(diào)整大小與圖像操作的實(shí)現(xiàn)
- Python?OpenCV超詳細(xì)講解讀取圖像視頻和網(wǎng)絡(luò)攝像頭
- Python中使用Opencv開發(fā)停車位計(jì)數(shù)器功能
- 關(guān)于python3?opencv?圖像二值化的問題(cv2.adaptiveThreshold函數(shù))
- Python?OpenCV實(shí)現(xiàn)圖形檢測示例詳解
- Python?OpenCV實(shí)現(xiàn)3種濾鏡效果實(shí)例
- 巧妙使用python?opencv庫玩轉(zhuǎn)視頻幀率
- python+opencv實(shí)現(xiàn)堆疊圖片
- python?使用OpenCV進(jìn)行曝光融合
相關(guān)文章
Python腳本實(shí)現(xiàn)集群檢測和管理功能
這篇文章主要介紹了Python腳本實(shí)現(xiàn)集群檢測和管理功能,本文講解了實(shí)現(xiàn)想法、開發(fā)工具選擇、經(jīng)驗(yàn)分享、代碼示例等內(nèi)容,需要的朋友可以參考下2015-03-03
如何使Python中的print()語句運(yùn)行結(jié)果不換行
這篇文章主要介紹了如何使Python中的print()顯示當(dāng)前語句后不換行,print() 是一個(gè)常用函數(shù),但是每次,print()語句顯示后都會(huì)換行,本問我們就來節(jié)日如何使print()顯示當(dāng)前語句后不換行,需要的朋友可以參考一下2022-03-03
Python中標(biāo)準(zhǔn)模塊importlib詳解
這篇文章主要給大家詳細(xì)介紹了Python中標(biāo)準(zhǔn)模塊importlib的使用方法和示例,非常簡單,有需要的小伙伴可以參考下2017-04-04
pytorch之關(guān)于PyTorch結(jié)構(gòu)介紹
這篇文章主要介紹了pytorch之關(guān)于PyTorch結(jié)構(gòu)的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
查看已經(jīng)安裝的python版本和相關(guān)路徑信息的三種方法
Python是一門計(jì)算機(jī)程序編程語言,更是一種面向?qū)ο蟮膭?dòng)態(tài)類型語言,隨著版本的不斷更新和語言新功能的添加,越來越多被用于獨(dú)立的、大型項(xiàng)目的開發(fā),那么如何查看已安裝Python版本和路徑呢?我們通過這篇文章來了解一下2025-03-03
python中以函數(shù)作為參數(shù)(回調(diào)函數(shù))的實(shí)現(xiàn)方法
這篇文章主要介紹了python中以函數(shù)作為參數(shù)(回調(diào)函數(shù))的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
Python requests timeout的設(shè)置
這篇文章主要介紹了Python requests timeout的設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
python實(shí)現(xiàn)將excel文件轉(zhuǎn)化成CSV格式
下面小編就為大家分享一篇python實(shí)現(xiàn)將excel文件轉(zhuǎn)化成CSV格式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
pytorch 修改預(yù)訓(xùn)練model實(shí)例
今天小編就為大家分享一篇pytorch 修改預(yù)訓(xùn)練model實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01

