国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python各類圖像庫的圖片讀寫方式總結(推薦)

2020-02-22 23:17:36
字體:
來源:轉載
供稿:網友

最近在研究深度學習視覺相關的東西,經常需要寫python代碼搭建深度學習模型。比如寫CNN模型相關代碼時,我們需要借助python圖像庫來讀取圖像并進行一系列的圖像處理工作。我最常用的圖像庫當然是opencv,很強大很好用,但是opencv也有一些坑,不注意的話也會搞出大麻煩。近期我也在看一些別人寫的代碼,因為個人習慣不一樣,他們在做深度學習時用于圖片讀取的圖像庫各不相同,從opencv到PIL再到skimage等等各種庫都有,有些庫讀進來的圖片存儲方式也不太一樣,如果不好好總結這些主流圖像讀寫庫特點的話,以后看代碼寫代碼都會遇坑無數。這篇文章就總結了以下主流Python圖像庫的一些基本使用方法和需要注意的地方:

1.opencv
2.PIL(pillow)
3.matplotlib.image
4.scipy.misc
5.skimage

opencv: cv2.imread

opencv作為我最常用的圖像處理庫,當然第一個介紹,并且介紹得比較全面。毋庸置疑,opencv是今天介紹得所有圖像庫中最全面也最強大的庫,如果我們只想掌握一個圖像庫,我覺得opencv庫肯定是最適合不過了。

圖片讀取操作

import cv2import numpy as np#讀入圖片:默認彩色圖,cv2.IMREAD_GRAYSCALE灰度圖,cv2.IMREAD_UNCHANGED包含alpha通道img = cv2.imread('1.jpg')cv2.imshow('src',img)print(img.shape) # (h,w,c)print(img.size) # 像素總數目print(img.dtype)print(img)cv2.waitKey()

值得注意的是,opencv讀進來的圖片已經是一個numpy矩陣了,彩色圖片維度是(高度,寬度,通道數)。數據類型是uint8。

#gray = cv2.imread('1.jpg',cv2.IMREAD_GRAYSCALE) #灰度圖#cv2.imshow('gray',gray)#也可以這么寫,先讀入彩色圖,再轉灰度圖src = cv2.imread('1.jpg')gray = cv2.cvtColor(src,cv2.COLOR_BGR2GRAY)cv2.imshow('gray',gray)print(gray.shape)print(gray.size)print(gray)cv2.waitKey()

上面提到了兩種獲取灰度圖的方式,讀進來的灰度圖的矩陣格式是(高度,寬度)。

#注意,計算圖片路徑是錯的,Opencv也不會提醒你,但print img時得到的結果是Noneimg2 = cv2.imread('2.jpg')print(img2)

#如何解決“讀到的圖片不存在的問題”? #加入判斷語句,如果為空,做異常處理img2 = cv2.imread('2.jpg')if img2 == None:  print('fail to load image!')

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通道| 宾阳县| 博客| 南昌市| 信阳市| 土默特左旗| 汝城县| 上虞市| 罗定市| 页游| 齐齐哈尔市| 古丈县| 哈巴河县| 中牟县| 普定县| 蓝田县| 临桂县| 应用必备| 满城县| 北宁市| 平凉市| 鄢陵县| 镇原县| 辽阳县| 龙口市| 汉中市| 远安县| 新干县| 长沙市| 通海县| 时尚| 常熟市| 友谊县| 榆树市| 类乌齐县| 长海县| 会泽县| 渭南市| 宾川县| 安义县| 宣城市|