濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Python中的imread()函數(shù)用法說明

Python中的imread()函數(shù)用法說明

熱門標(biāo)簽:西藏快速地圖標(biāo)注地點(diǎn) 如何在地圖標(biāo)注文字 n400電話申請(qǐng)多少錢 廈門crm外呼系統(tǒng)如何 女王谷地圖標(biāo)注 ai地圖標(biāo)注 地圖標(biāo)注推廣單頁 百應(yīng)ai電銷機(jī)器人鄭州 長春人工智能電銷機(jī)器人官網(wǎng)

cv2方式:

# -*- coding: UTF-8 -*-
import cv2
"""
cv2模塊--圖片的讀入和顯示
""" 
image_path="D:/PycharmProjects/imageCut/cutted_images/0.jpg" 
img=cv2.imread(image_path)# np.ndarray BGR uint8
cv2.imshow("test_imread",img)# 轉(zhuǎn)為RGB顯示
cv2.waitKey()

PIL方式:

# -*-coding: UTF-8 -*- 
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt 
image_path="D:/PycharmProjects/imageCut/cutted_images/0.jpg"
 
#PIL
#相關(guān):scipy.misc.imread, scipy.ndimage.imread
#misc.imread 提供可選參數(shù)mode,但本質(zhì)上是調(diào)用PIL,具體的模式可以去看srccode或者document
#https://github.com/scipy/scipy/blob/v0.17.1/scipy/misc/pilutil.py
img=Image.open(image_path)
img=np.array(img)# 獲得numpy對(duì)象, np.ndarray, RGB 
#統(tǒng)一使用plt進(jìn)行顯示,不管是plt還是cv2.imshow,在python中只認(rèn)numpy.array,但是由于cv2.imread 的圖片是BGR,cv2.imshow 時(shí)相應(yīng)的換通道顯示
 
plt.imshow(img)
plt.show()

matplotlib.image:

# -*-coding: UTF-8 -*-
 
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg 
image_path="D:/PycharmProjects/imageCut/cutted_images/0.jpg" 
img=mpimg.imread(image_path)
 
#統(tǒng)一使用plt進(jìn)行顯示,不管是plt還是cv2.imshow,在python中只認(rèn)numpy.array,但是由于cv2.imread 的圖片是BGR,cv2.imshow 時(shí)相應(yīng)的換通道顯示
 
plt.imshow(img)
plt.show()

skimage.io方式:

# -*-coding: UTF-8 -*- 
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from skimage import io 
image_path="D:/PycharmProjects/imageCut/cutted_images/0.jpg"
 
#4 skimge
#caffe.io.load_iamge()也是調(diào)用的skimage實(shí)現(xiàn)的,返回的是0-1 float型數(shù)據(jù)
img = io.imread(image_path)
 
#統(tǒng)一使用plt進(jìn)行顯示,不管是plt還是cv2.imshow,在python中只認(rèn)numpy.array,但是由于cv2.imread 的圖片是BGR,cv2.imshow 時(shí)相應(yīng)的換通道顯示
 
plt.imshow(img)
plt.show()

scipy.misc方式:

# -*-coding: UTF-8 -*- 
from scipy.misc import imread, imshow, imsave
import matplotlib.pyplot as plt 
image_path="D:/PycharmProjects/imageCut/cutted_images/0.jpg"
 
img = imread(image_path)
# imshow(img) need to set the SCIPY_PIL_IMAGE_VIEWER environment variable to point to the program/executable that can be used to view images on your system
 
plt.imshow(img)
plt.show()
imsave("D:/PycharmProjects/imageCut/cutted_images/1.jpg",img)

補(bǔ)充:cv2.imread()和matplotlib.image.imread()讀取圖片的一些區(qū)別,python,中文路徑

1.cv2.imread()和matplotlib.image.imread()

除了讀取出來的rgb的順序不一樣,對(duì)于讀取圖片的類型要求也不一樣,

example:

將.jpg改為.png,后者讀取就有問題,而前者就順利的讀取出來了

而且cv2.imread()不能有中文路徑,否則讀取不出來,一般opencv庫都不允許中文路徑

但是可以這樣修改,就可以得到可以識(shí)別中文路徑的讀取:

#cv2識(shí)別中文路徑
def cv2_imread(img_path):
  cv_img=cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), -1)
  return cv_img
img_y = cv2_imread('E:/哈哈/' + str(number) + '.jpg')
#這個(gè)是存儲(chǔ)到帶有中文路徑的文件里面,其中有圖像質(zhì)量的模糊度
cv2.imencode('.jpg', img,[int(cv2.IMWRITE_JPEG_QUALITY),
 random.uniform(30, 50)])[1].tofile("E:/哈哈/" 
+ str(xuhao) + ".jpg")

對(duì)于cv2讀取的圖像的形式是數(shù)組,不同的讀取函數(shù),讀取到的圖像的形式是不一樣的,所以可以多次進(jìn)行不同的讀取方式,來進(jìn)行不同的操作

2.scipy.misc.imread()

讀出來的為rgb,而且可以使用中文路徑(cv2.imread()讀出來的圖片是BGR)

scipy.misc.imsave(),直接進(jìn)行保存就可以。但是有一點(diǎn)要注意,它只能保存uint8類型的數(shù)據(jù),所以有時(shí)候就需要對(duì)他的類型進(jìn)行聲明。還有一些別的函數(shù),有時(shí)候也會(huì)這樣的。uint8的取值范圍是0-255,所以注意越界問題。

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

您可能感興趣的文章:
  • Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()的區(qū)別
  • 解決python cv2.imread 讀取中文路徑的圖片返回為None的問題
  • Python imread、newaxis用法詳解
  • 解決python測(cè)試opencv時(shí)imread導(dǎo)致的錯(cuò)誤問題
  • 解決Python下imread,imwrite不支持中文的問題
  • python imread函數(shù)詳解

標(biāo)簽:渭南 興安盟 綿陽 內(nèi)江 拉薩 亳州 黔東 廊坊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python中的imread()函數(shù)用法說明》,本文關(guān)鍵詞  Python,中的,imread,函數(shù),用法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python中的imread()函數(shù)用法說明》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python中的imread()函數(shù)用法說明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    许昌市| 左云县| 海南省| 维西| 舟山市| 庐江县| 鄂托克前旗| 青浦区| 大丰市| 邢台市| 工布江达县| 双柏县| 孟津县| 固镇县| 彰化市| 东山县| 九寨沟县| 五常市| 乌拉特后旗| 台江县| 营山县| 哈密市| 大厂| 清原| 涟源市| 绥阳县| 内江市| 东明县| 沁阳市| 鹰潭市| 治多县| 巴南区| 东海县| 军事| 青龙| 高邮市| 黎城县| 钦州市| 兴文县| 深水埗区| 潞城市|