欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2021年03月16日 11:02:34   作者:xky1306102chenhong  
這篇文章主要介紹了Python中的imread()函數(shù)用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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)# 轉為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
#相關:scipy.misc.imread, scipy.ndimage.imread
#misc.imread 提供可選參數(shù)mode,但本質上是調用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對象, np.ndarray, RGB 
#統(tǒng)一使用plt進行顯示,不管是plt還是cv2.imshow,在python中只認numpy.array,但是由于cv2.imread 的圖片是BGR,cv2.imshow 時相應的換通道顯示
 
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進行顯示,不管是plt還是cv2.imshow,在python中只認numpy.array,但是由于cv2.imread 的圖片是BGR,cv2.imshow 時相應的換通道顯示
 
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()也是調用的skimage實現(xiàn)的,返回的是0-1 float型數(shù)據(jù)
img = io.imread(image_path)
 
#統(tǒng)一使用plt進行顯示,不管是plt還是cv2.imshow,在python中只認numpy.array,但是由于cv2.imread 的圖片是BGR,cv2.imshow 時相應的換通道顯示
 
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)

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

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

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

example:

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

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

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

#cv2識別中文路徑
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')
#這個是存儲到帶有中文路徑的文件里面,其中有圖像質量的模糊度
cv2.imencode('.jpg', img,[int(cv2.IMWRITE_JPEG_QUALITY),
 random.uniform(30, 50)])[1].tofile("E:/哈哈/" 
+ str(xuhao) + ".jpg")

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

2.scipy.misc.imread()

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

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

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

相關文章

  • 使用wxPython和Pandas實現(xiàn)XLSX分析器和網(wǎng)頁打開器

    使用wxPython和Pandas實現(xiàn)XLSX分析器和網(wǎng)頁打開器

    這篇文章主要為大家詳細介紹了如何使用wxPython和Pandas實現(xiàn)XLSX分析器和網(wǎng)頁打開器,文中的示例代碼講解詳細,感興趣的可以了解一下
    2024-10-10
  • Python實現(xiàn)計算文件夾下.h和.cpp文件的總行數(shù)

    Python實現(xiàn)計算文件夾下.h和.cpp文件的總行數(shù)

    這篇文章主要介紹了Python實現(xiàn)計算文件夾下.h和.cpp文件的總行數(shù),本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • python?pip無法使用該怎么解決詳析

    python?pip無法使用該怎么解決詳析

    在python程序的開發(fā)過程中,pip是一個用來下載第三方庫非常好用的工具,下面這篇文章主要介紹了python?pip無法使用該怎么解決的相關資料,需要的朋友可以參考下
    2024-09-09
  • python微信跳一跳系列之自動計算跳一跳距離

    python微信跳一跳系列之自動計算跳一跳距離

    這篇文章主要為大家詳細介紹了python微信跳一跳系列之自動計算跳一跳距離,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 深入理解Django的自定義過濾器

    深入理解Django的自定義過濾器

    這篇文章主要給大家介紹了關于Django自定義過濾器的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-10-10
  • 使用Plotly Dash進行儀表板設計的步驟和技巧

    使用Plotly Dash進行儀表板設計的步驟和技巧

    Plotly Dash 是一個基于 Python 的開源框架,可以幫助你快速而靈活地構建交互式儀表板,本文將介紹使用 Plotly Dash 創(chuàng)建儀表板的步驟和一些技巧,并附上代碼實例來演示每個步驟,需要的朋友可以參考下
    2024-05-05
  • python中的list字符串元素排序

    python中的list字符串元素排序

    這篇文章主要介紹了python中的list字符串元素排序方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python使用uuid庫生成唯一標識ID

    Python使用uuid庫生成唯一標識ID

    這篇文章主要介紹了Python使用uuid模塊生成唯一標識ID,需要的朋友可以參考下
    2020-02-02
  • Python中的嵌套循環(huán)詳情

    Python中的嵌套循環(huán)詳情

    這篇文章主要介紹了Python中的嵌套循環(huán)詳情,嵌套循環(huán)就是一個外循環(huán)的主體部分是一個內循環(huán)。內循環(huán)或外循環(huán)可以是任何類型,下列詳情介紹內容,需要的朋友可以參考一下
    2022-03-03
  • python實現(xiàn)b站直播自動發(fā)送彈幕功能

    python實現(xiàn)b站直播自動發(fā)送彈幕功能

    這篇文章主要介紹了python如何實現(xiàn)b站直播自動發(fā)送彈幕,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-02-02

最新評論