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

Python讀取圖片的方法詳解

 更新時(shí)間:2023年08月11日 14:46:53   作者:碼頭牛牛  
這篇文章主要為大家詳細(xì)介紹了Python中讀取圖片的實(shí)現(xiàn)方法,文中的示例代碼簡(jiǎn)潔易懂,具有一定的參考價(jià)值,需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下

一、Python學(xué)習(xí)兩大道具

1. dir()工具

作用:支持打開(kāi)package,看到里面的工具函數(shù)

示例:

(1) 輸出torch庫(kù)包含的函數(shù)

dir(torch)

(2) 輸出torch.AVG函數(shù)中的參數(shù)

dir(torch.AVG)

2. help()工具

作用:說(shuō)明書,查看庫(kù)中函數(shù)某個(gè)參數(shù)的說(shuō)明或使用方法

示例:

(1) 輸出torch庫(kù)中AVG函數(shù)的AVG參數(shù)使用方法

help(torch.AVG.AVG) 

二、Pytorch讀取圖像數(shù)據(jù)

0. 寫在前面

(1)PIL庫(kù)中Image函數(shù)的基本使用方法

PIL的安裝:win+r → cmd → 選擇環(huán)境 → pip install Pillow

使用方法:

from PIL import Image
#選擇圖像路徑
#注意:在復(fù)制圖像路徑后,在windows環(huán)境下,需要將\變?yōu)閈\
img_path="E:\\Desktop\\hymenoptera_data\\hymenoptera_data\\train\\ants\\0013035.jpg"
#打開(kāi)并標(biāo)識(shí)給定的圖像文件。
#image.open()是一個(gè)懶惰的操作;此函數(shù)可識(shí)別文件,但文件保持打開(kāi)狀態(tài),直到嘗試處理數(shù)據(jù)(或調(diào)用load()方法),才會(huì)從文件中讀取實(shí)際圖像數(shù)據(jù)。
img=image.open(img_path)
#輸出圖像大小
print(img.size)
#打開(kāi)圖像(指的是直接根據(jù)該地址打開(kāi)一個(gè)窗口顯示這個(gè)圖像)
img.show()

(2)os庫(kù)中函數(shù)的基本使用方法

os.path.join(path1, path2, ... ,pathn):合并路徑,在一定程度上可以避免因python語(yǔ)法問(wèn)題,造成的\t或\n之類的錯(cuò)誤。

比如說(shuō),圖片路徑為:”hymenoptera_data\hymenoptera_data\train“,如果直接輸入路徑,那么會(huì)出現(xiàn)以下結(jié)果:

path="hymenoptera_data\hymenoptera_data\train"
print(path)
'''
[Run]
hymenoptera_data\hymenoptera_data    rain
'''

此時(shí)的處理方法有兩種:

方法一:在\后面加個(gè)\

path="hymenoptera_data\\hymenoptera_data\\train"
print(path)
'''
[Run]
hymenoptera_data\hymenoptera_data\train
'''

方法二:os.path.join

import os
path1="hymenoptera_data\hymenoptera_data"
path2="train"
path=os.path.join(path1,path2)
print(path)
'''
[Run]
hymenoptera_data\hymenoptera_data\train
'''

os.listdir(path):將path中包含的圖片名稱變?yōu)橐粋€(gè)列表。

比如說(shuō),路徑為”hymenoptera_data\hymenoptera_data\train\ants“的文件夾中有0013035.jpg、5650366_e22b7e1065.jpg、6240329_72c01e663e.jpg三張圖片,那么此時(shí)有:

import os
path="hymenoptera_data\\hymenoptera_data\\train\\ants"
path_list=os.listdir(path)
print(path_list)
'''
[Run]
['0013035.jpg', '5650366_e22b7e1065.jpg', '6240329_72c01e663e.jpg']
'''

1. Dataset

作用:提供一種方式去獲取數(shù)據(jù)及其label

功能:

  • 如何獲取每一個(gè)數(shù)據(jù)及其label
  • 告訴我們總共有多少數(shù)據(jù)(作用:神經(jīng)網(wǎng)絡(luò)要對(duì)同一個(gè)數(shù)據(jù)迭代多次,只有當(dāng)我們知道總共有多少個(gè)數(shù)據(jù),訓(xùn)練的時(shí)候我們才知道要訓(xùn)練多少次,才能把這個(gè)數(shù)據(jù)集迭代完然后進(jìn)行下一次的迭代)

詳解:

  • getitem:獲取數(shù)據(jù)對(duì)應(yīng)的label
  • len:返回?cái)?shù)據(jù)的size

使用示例:

數(shù)據(jù)下載地址:百度網(wǎng)盤 請(qǐng)輸入提取碼 (baidu.com)

提取碼:2hby

(1)讀取、簡(jiǎn)單處理圖像數(shù)據(jù)

from torch.utils.data import Dataset
from PIL import Image
import os
class MyData(Dataset):
    #參數(shù)說(shuō)明:
    #root_dir:數(shù)據(jù)集的路徑,如"E:\Desktop\hymenoptera_data\hymenoptera_data\train"(最好還是都加上\\,像其中的\train由于\t的存在會(huì)導(dǎo)致錯(cuò)誤)
    #label_dir:數(shù)據(jù)的標(biāo)簽,如"ants"
    def __init__(self,root_dir,label_dir):
        self.root_dir=root_dir
        self.label_dir=label_dir
        # 使用os.path.join的方法是為了避免\和\\錯(cuò)誤的問(wèn)題
        # self.path='E:\\Desktop\\hymenoptera_data\\hymenoptera_data\\train\\ants'
        self.path=os.path.join(self.root_dir,self.label_dir)
        #將文件夾內(nèi)所有圖片的地址變成一個(gè)列表,并按先后順序排列
        self.img_path=os.listdir(self.path)
    #輸入:圖像對(duì)應(yīng)的索引
    #返回:idx索引對(duì)應(yīng)的打開(kāi)并標(biāo)識(shí)過(guò)后的圖像文件img;圖像對(duì)應(yīng)的標(biāo)簽label
    def __getitem__(self,idx):
        img_name=self.img_path[idx]    #根據(jù)索引idx,讀取列表self.img_path中的圖像名稱
        img_item_path=os.path.join(self.root_dir,self.label_dir,img_name)   #讀取該索引對(duì)應(yīng)圖像的存儲(chǔ)路徑
        img=Image.open(img_item_path)  #打開(kāi)并標(biāo)識(shí)給定的圖像文件
        label=self.label_dir    #label=數(shù)據(jù)標(biāo)簽,在該數(shù)據(jù)集中為ant或bee
        return img,label
    #返回圖像數(shù)據(jù)集的長(zhǎng)度,也就是說(shuō)所讀取的數(shù)據(jù)集中有多少?gòu)垐D片
    def __len__(self):
        return len(self.img_path)
root_dir="E:\\Desktop\\hymenoptera_data\\hymenoptera_data\\train"
ants_label_dir="ants"
bees_label_dir="bees"
ants_dataset=MyData(root_dir,ants_label_dir)
bees_dataset=MyData(root_dir,ants_label_dir)
img,label=ants_dataset[0]
print(img,label)   #根據(jù)索引,獲取標(biāo)識(shí)過(guò)后的圖像img,以及對(duì)應(yīng)的標(biāo)簽
img.show()         #顯示對(duì)應(yīng)索引的圖像
train_dataset=ants_dataset+bees_dataset    #將兩個(gè)數(shù)據(jù)集進(jìn)行拼接
print(len(ants_dataset),len(bees_dataset),len(train_dataset))

(2)存儲(chǔ)圖像數(shù)據(jù)

首先新建一個(gè)文件夾,在該文件夾中:.txt文件名表示.jpg的圖片名稱,.txt文件中存儲(chǔ)的數(shù)據(jù)為對(duì)應(yīng)圖像的label。用下面代碼將文件名、label實(shí)現(xiàn)寫入:

import os
root_dir="E:\\Desktop\\hymenoptera_data\\hymenoptera_data\\train"
target_dir="ants"
img_path=os.listdir(os.path.join(root_dir,target_dir))  #將target_dir文件夾中的圖片名稱存到img_path的列表中
label=target_dir  #標(biāo)簽為target_dir(根據(jù)實(shí)際情況讀取標(biāo)簽)
out_dir="ants_label"   #輸出圖片的地址
for i in img_path:  #遍歷每一張圖片的名字
    file_name=i.split(".jpg")[0]   #除去.jpg后綴,取出圖片名字
    with open(os.path.join(root_dir,out_dir,"{}.txt".format(file_name)),'w') as f:   #以圖片名命名.txt文件
        f.write(label)  #將相應(yīng)圖片的標(biāo)簽,寫入.txt文件中

2. Dataloder

作用:為后面的網(wǎng)絡(luò)提供不同的數(shù)據(jù)形式(對(duì)其中幾條數(shù)據(jù)進(jìn)行打包)

到此這篇關(guān)于Python讀取圖片的方法詳解的文章就介紹到這了,更多相關(guān)Python讀取圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python重試裝飾器示例

    python重試裝飾器示例

    python 寫一些網(wǎng)絡(luò)服務(wù)的時(shí)候總會(huì)拋出一些異常,當(dāng)前任務(wù)就被終止了,利用@裝飾器,寫一個(gè)重試的裝飾器,下面是實(shí)現(xiàn)示例,需要的朋友可以參考下
    2014-02-02
  • Python運(yùn)維自動(dòng)化psutil模塊的監(jiān)控和管理深入探究

    Python運(yùn)維自動(dòng)化psutil模塊的監(jiān)控和管理深入探究

    這篇文章主要為大家介紹了Python運(yùn)維自動(dòng)化psutil模塊的監(jiān)控和管理深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Python批量實(shí)現(xiàn)橫屏轉(zhuǎn)豎屏的視頻處理工具

    Python批量實(shí)現(xiàn)橫屏轉(zhuǎn)豎屏的視頻處理工具

    這篇文章主要為大家詳細(xì)介紹了如何使用Python和Tkinter框架開(kāi)發(fā)一個(gè)視頻處理器應(yīng)用,用于批量橫屏轉(zhuǎn)豎屏視頻處理,支持多種視頻格式和編碼選擇,需要的可以了解下
    2025-02-02
  • Python常用的日期時(shí)間處理方法示例

    Python常用的日期時(shí)間處理方法示例

    這篇文章主要介紹了Python常用的日期時(shí)間處理方法示例,本文直接給出實(shí)現(xiàn)代碼,包含如給定日期向后N天的日期、昨天、今天、將字符串轉(zhuǎn)換成datetime類型等方法,需要的朋友可以參考下
    2015-02-02
  • python ---lambda匿名函數(shù)介紹

    python ---lambda匿名函數(shù)介紹

    這篇文章主要介紹了python lambda匿名函數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python使用moviepy讀取字幕srt文件報(bào)錯(cuò)的解決方法詳解

    Python使用moviepy讀取字幕srt文件報(bào)錯(cuò)的解決方法詳解

    這篇文章主要為大家詳細(xì)介紹了Python使用moviepy讀取字幕srt文件報(bào)錯(cuò)‘gbk‘?codec?can‘t?decode的兩種解決辦法,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • python中l(wèi)ist循環(huán)語(yǔ)句用法實(shí)例

    python中l(wèi)ist循環(huán)語(yǔ)句用法實(shí)例

    這篇文章主要介紹了python中l(wèi)ist循環(huán)語(yǔ)句用法,以實(shí)例形式詳細(xì)介紹了Python針對(duì)list的解析,包含各種常見(jiàn)的遍歷操作及原理分析,需要的朋友可以參考下
    2014-11-11
  • Python?ArcPy批量掩膜、重采樣大量遙感影像的操作

    Python?ArcPy批量掩膜、重采樣大量遙感影像的操作

    這篇文章主要介紹了Python?ArcPy批量掩膜、重采樣大量遙感影像,本文介紹基于Python中ArcPy模塊,對(duì)大量柵格遙感影像文件進(jìn)行批量掩膜與批量重采樣的操作,需要的朋友可以參考下
    2023-03-03
  • python爬蟲(chóng)工具例舉說(shuō)明

    python爬蟲(chóng)工具例舉說(shuō)明

    在本篇文章里小編給大家整理的是一篇關(guān)于python爬蟲(chóng)工具例舉說(shuō)明內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • OpenCV中Canny邊緣檢測(cè)的實(shí)現(xiàn)

    OpenCV中Canny邊緣檢測(cè)的實(shí)現(xiàn)

    本文主要介紹了OpenCV中Canny邊緣檢測(cè)的實(shí)現(xiàn),邊緣檢測(cè)一般是識(shí)別目標(biāo)圖像中亮度變化明顯的像素點(diǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評(píng)論

高邮市| 甘谷县| 勐海县| 桓仁| 南雄市| 孟连| 慈利县| 武隆县| 卓尼县| 中超| 乌拉特中旗| 永胜县| 崇仁县| 都江堰市| 牡丹江市| 原平市| 乌拉特中旗| 玛纳斯县| 武功县| 瑞昌市| 安西县| 栾城县| 中山市| 平阴县| 玛纳斯县| 合作市| 土默特右旗| 德令哈市| 柘城县| 台东市| 深圳市| 普格县| 馆陶县| 五大连池市| 磴口县| 富民县| 绥江县| 双牌县| 中方县| 龙山县| 庆城县|