python如何判斷圖片內(nèi)容多少(python查看圖片大小)
導讀:本篇文章首席CTO筆記來給大家介紹有關python如何判斷圖片內(nèi)容多少的相關內(nèi)容,希望對大家有所幫助,一起來看看吧。
python如何獲取屬性不一樣的圖片.通過image圖像對象去點format這個屬性名就能夠?qū)⒃搱D片的文件格式給獲取到,文件格式實際上指的就是這個圖片是以什么作為結(jié)尾的。是png、jpeg還是gif圖片等,代碼示例如下:
print(image.format)
PNG
2.而通過size屬性就可以獲取到圖片大小,圖片大小不是指它占用空間有多少,是多少kb的。而是獲取它的長和寬,也就是圖像的分辨率像素值,會返回一個元組對象,示例如下:
print(image.size)
(6621,4414)
3.mode屬性表示的意思就是圖像的色彩模式信息,一般來說圖像被Pillow庫讀取進來之后可以識別的色彩模式有九種,其中RGB模式是最常見的。除此之外還有表示黑白灰度圖的L、表示八位像素圖的P等,示例如下:
print(image.mode)
RBGA
4.最后則是能夠通過info屬性來獲取到該圖片的其余信息了,這些信息統(tǒng)稱為圖片的辭典集。這些獲取到的信息都是該圖形的特征列表值,
Python如何圖像識別?
1.簡介。
圖像處理是一門應用非常廣的技術,而擁有非常豐富第三方擴展庫的Python當然不會錯過這一門盛宴。PIL(PythonImagingLibrary)是Python中最常用的圖像處理庫,目前版本為1.1.7,我們可以?在這里?下載學習和查找資料。
Image類是PIL庫中一個非常重要的類,通過這個類來創(chuàng)建實例可以有直接載入圖像文件,讀取處理過的圖像和通過抓取的方法得到的圖像這三種方法。
2.使用。
導入Image模塊。然后通過Image類中的open方法即可載入一個圖像文件。如果載入文件失敗,則會引起一個IOError;若無返回錯誤,則open函數(shù)返回一個Image對象。現(xiàn)在,我們可以通過一些對象屬性來檢查文件內(nèi)容,即:
1importImage
2?im=Image.open("j.jpg")
3?printim.format,im.size,im.mode
4JPEG(440,330)RGB
這里有三個屬性,我們逐一了解。
format:識別圖像的源格式,如果該文件不是從文件中讀取的,則被置為None值。
size:返回的一個元組,有兩個元素,其值為象素意義上的寬和高。
mode:RGB(truecolorimage),此外還有,L(luminance),CMTK(pre-pressimage)。
現(xiàn)在,我們可以使用一些在Image類中定義的方法來操作已讀取的圖像實例。比如,顯示最新載入的圖像:
1im.show()
2?
輸出原圖:
3.函數(shù)概貌。
3.1??ReadingandWritingImages:open(infilename),save(outfilename)
3.2??CuttingandPastingandMergingImages:
crop():從圖像中提取出某個矩形大小的圖像。它接收一個四元素的元組作為參數(shù),各元素為(left,upper,right,lower),坐標系統(tǒng)的原點(0,0)是左上角。
paste():
merge():
1box=(100,100,200,200)
2?region=im.crop(box)
3?region.show()
4?region=region.transpose(Image.ROTATE_180)
5?region.show()
6?im.paste(region,box)
7?im.show()
其效果圖為:
旋轉(zhuǎn)一幅圖片:
1defroll(image,delta):
2???"Rollanimagesideways"
3
4???xsize,ysize=image.size
5
6???delta=delta%xsize
7???ifdelta==0:returnimage
8
9???part1=image.crop((0,0,delta,ysize))
10???part2=image.crop((delta,0,xsize,ysize))
11???image.paste(part2,(0,0,xsize-delta,ysize))
12???image.paste(part1,(xsize-delta,0,xsize,ysize))
13
14???returnimage
3.3??幾何變換。
3.3.1??簡單的幾何變換。
1out=im.resize((128,128))??????????#
2?out=im.rotate(45)???????????????#逆時針旋轉(zhuǎn)45度角。
3?out=im.transpose(Image.FLIP_LEFT_RIGHT)???#左右對換。
4?out=im.transpose(Image.FLIP_TOP_BOTTOM)???#上下對換。
5?out=im.transpose(Image.ROTATE_90)??????#旋轉(zhuǎn)90度角。
6?out=im.transpose(Image.ROTATE_180)??????#旋轉(zhuǎn)180度角。
7out=im.transpose(Image.ROTATE_270)??????#旋轉(zhuǎn)270度角。
各個調(diào)整之后的圖像為:
圖片1:
圖片2:
圖片3:
圖片4:
3.3.2??色彩空間變換。
convert():該函數(shù)可以用來將圖像轉(zhuǎn)換為不同色彩模式。
3.3.3??圖像增強。
Filters:在ImageFilter模塊中可以使用filter函數(shù)來使用模塊中一系列預定義的增強濾鏡。
1importImageFilter
2imfilter=im.filter(ImageFilter.DETAIL)
3imfilter.show()
3.4??序列圖像。
即我們常見到的動態(tài)圖,最常見的后綴為.gif,另外還有FLI/FLC。PIL庫對這種動畫格式圖也提供了一些基本的支持。當我們打開這類圖像文件時,PIL自動載入圖像的第一幀。我們可以使用seek和tell方法在各幀之間移動。
1importImage
2im.seek(1)????#skiptothesecondframe
3
4try:
5???while1:
6?????im.seek(im.tell()+1)
7?????#dosomethingtoim
8exceptEOFError:
9???pass
3.5??更多關于圖像文件的讀取。
最基本的方式:im=Image.open("filename")
類文件讀取:fp=open("filename","rb");im=Image.open(fp)
字符串數(shù)據(jù)讀取:importStringIO;im=Image.open(StringIO.StringIO(buffer))
從歸檔文件讀取:importTarIO;fp=TarIo.TarIO("Image.tar","Image/test/lena.ppm");im=Image.open(fp)
基本的PIL目前就練習到這里。其他函數(shù)的功能可點擊?這里?進一步閱讀。
Python如何獲取圖片長寬等信息使用PIL模塊,windows安裝包下載:
使用方法
#?coding:?utf8
#?獲取指定圖片的長和寬
from?PIL?import?Image
img?=?Image.open("img.jpg")
print?img.size
運行結(jié)果:
(52,?54)
數(shù)字圖像處理基于Python如何數(shù)一張圖片的物體有多少個?如果要使用Python進行數(shù)字圖像處理,可以使用OpenCV庫來數(shù)一張圖片的物體有多少個。
下面是一個簡單的例子,可以使用OpenCV庫來數(shù)一張圖片中的小球數(shù)量:
importcv2
#讀取圖片
img=cv2.imread("balls.jpg")
#將圖片轉(zhuǎn)換為灰度圖
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#使用閾值分割法,得到二值圖
thresh=cv2.threshold(gray,127,255,cv2.THRESH_BINARY)[1]
#尋找圖像中的輪廓
cnts=cv2.findContours(thresh.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
cnts=imutils.grab_contours(cnts)
#顯示圖像中的輪廓數(shù)量
print("圖像中的輪廓數(shù)量:{}".format(len(cnts)))
python操作ppt,如何判斷幻燈片中有圖片一、實現(xiàn)原理
其實實現(xiàn)原理很簡單,我們的pptx文件其實是一個壓縮包。我們可以直接修改pptx文件的后綴,改成zip然后解壓,比如下面這個:
BTH0Q0$4CJH0}2VQP~06KH1.png
這是解壓后的文件。我們可以在ppt目錄下找到一個media目錄,這個目錄下就是我們要的圖片的。這個目錄包含了PPT的所有多媒體文件。
知道這點后,我們就可以選擇用python來解壓出PPT中的media目錄就可以提取出所有圖片了。
二、提取PPT中的圖片
1、打開壓縮包
在Python中提供了一個zipfile模塊用于處理壓縮包文件。我們來看看它的簡單操作:
fromzipfileimportZipFile
#打開壓縮文件
f=ZipFile("test.pptx")
#查看壓縮包所有文件
forfileinf.namelist():
print(file)
#關閉壓縮包文件
f.close()
輸出的部分結(jié)果如下:
[Content_Types].xml
_rels/.rels
ppt/presentation.xml
ppt/slides/_rels/slide2.xml.rels
ppt/slides/slide1.xml
ppt/slides/slide2.xml
ppt/slides/slide3.xml
可以看到我們打印出了壓縮包的文件。
2、解壓文件
我們還可以通過下面的方式打開壓縮包:
fromzipfileimportZipFile
withZipFile("test.pptx")asf:
forfileinf.namelist():
print(file)
通過with語句,就可以不顯示地調(diào)用close方法。下面我們看看解壓操作:
fromzipfileimportZipFile
withZipFile("test.pptx")asf:
forfileinf.namelist():
#解壓文件
f.extract(file,path="unzip")
解壓文件的操作通過f.extract來實現(xiàn),這里傳入了兩個參數(shù),分別是壓縮包文件,和解壓路徑,如果壓縮包有密碼還需要傳入解壓密碼。
然后我們還需要判斷一下,如果是媒體目錄我們才解壓。我們添加一點代碼:
fromzipfileimportZipFile
withZipFile("test.pptx")asf:
forfileinf.namelist():
#如果是media目錄下的文件就解壓
iffile.startswith("ppt/media/"):
f.extract(file,path="unzip")
這樣我們就實現(xiàn)了PPT圖片的提取。
三、提取PPT中的圖片
我們把上面代碼再完善一下:
importos
fromzipfileimportZipFile
#解壓目錄
unzip_path="unzip"
#如果解壓目錄不存在則創(chuàng)建
ifnotos.path.exists(unzip_path):
os.mkdir(unzip_path)
withZipFile("test1/test.pptx")asf:
forfileinf.namelist():
iffile.startswith("ppt/media/"):
f.extract(file,path=unzip_path)
這里我們就是添加了一個解壓目錄的創(chuàng)建,這樣我們執(zhí)行的時候就不會因為目錄不存在而報錯了。
結(jié)語:以上就是首席CTO筆記為大家整理的關于python如何判斷圖片內(nèi)容多少的相關內(nèi)容解答匯總了,希望對您有所幫助!如果解決了您的問題歡迎分享給更多關注此問題的朋友喔~
電腦編程軟件python(電腦編程軟件叫什么名字)
先將下方的【Addpython3.6toPYTH】打勾,表示變量的添加。上方的【InstallNow】代表默認的安裝路線,【Customizeinstallation】代表自定義的安裝路線。小編這里采用的是系統(tǒng)默認的安裝,大家也可以自定義。 請點擊輸入圖片描述 軟件安裝中與安裝完成。 請點擊輸入圖片描述 請點擊輸入圖片描述 可以直接向命令提示符輸入python...
Django怎么刪除超級用戶(2023年最新整理)
Python軟件是Python工程師編寫代碼時所需要的編輯工具,現(xiàn)在比較常用的Python軟件有Visu...那么在選擇Python培訓機構(gòu)時學生尤為關注的就是培訓內(nèi)容,從現(xiàn)在幾家大的機構(gòu)可以看出,Python培訓主要學習第一階段Python核心編程(Pyth...一文讀懂Python內(nèi)置變量,函數(shù),模塊在這里解釋下什么是解釋性語言什么是編譯性語言:編譯性語言:...
怎么在官網(wǎng)下載python3.7.0(怎么在官網(wǎng)下載win10專業(yè)版)
請點擊輸入圖片描述 這里要稍等一會,因為網(wǎng)站會自動檢測操作系統(tǒng),直接列出可下載的安裝文件。當然也可以自己選擇下載,但這里不推薦,所以不做介紹。請點擊輸入圖片描述 下載完成以后,進行程序的安裝。先將下方的【Addpython3.6toPYTH】打勾,表示變量的添加。上方的【InstallNow】代表默認的安裝路線,【...
ubuntu怎么查看django版本
如Python2.7.3)——在ubuntu中python應該是已經(jīng)默認安裝好了2.安裝Django:安裝官方發(fā)布版:在...結(jié)語:以上就是首席CTO筆記為大家整理的關于ubuntu怎么查看django版本的全部內(nèi)容了,感謝您花時間閱讀本站內(nèi)容,希望對您有所幫助,更多關于ubuntu怎么查看django版本的相關內(nèi)容別忘了在本站進行查找喔。
python執(zhí)行一條語句多少時間
如何用pytho寫rhino文件答:1、首先下載MAC版的64位Eclipse,然后解壓縮。2、下載Python。MAC自帶的是的python版本比較老,所以去下個新版本,下載后安裝,dmg的pyth防抓取,突襲網(wǎng)提供內(nèi)容,請查看原文。8 days shows as 2 weeks 為什么python中print可以運行,而print"ilo...答:為什么python中print可以...
python如何捕獲錯誤信息
首先我們聲明一個字符串,然后構(gòu)建下表獲取字符串中的字符,然后我們經(jīng)常會用一個越界的下表進行訪問,就會報如下的錯誤:相關推薦:《Python教程》如果我們想捕獲這個錯誤,并且加入我們自己的提示信息的話,可以用try與catch進行,另外except中也可以精確的指定某一個異常類型,如下圖所示,指定了除數(shù)為0...
python中bin10等于多少
導讀:很多朋友問到關于python中bin10等于多少的相關問題,本文首席CTO筆記就來為大家做個詳細解答,供大家參考,希望對大家有所幫助!一起來看看吧!Python中若a[3]=5能成功執(zhí)行那a是什么? a是字典。 $python Python3.8.3(tags\/v3.8.3:6f8c832,May132020,22:37:02)[MSCv.192464bit(AM D64)]onwin32 Type"he...
centos下如何看django版本(python查看django版本)
Python 2.7.3 (default, Aug1 2012, 05:14:39)[GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information.從上面可以看到在我機子上 python 的版本是 2.7.3 如果你想手動查看的話可以輸入(同樣在terminal下)pythno-V 現(xiàn)在需要裝 setuptools 命令...
電腦idle免費下載安裝蘋果電腦怎么下載python
② 電腦python怎么下載 首先在瀏覽器中輸入python的官網(wǎng),直接到官網(wǎng)下載編程軟件。點擊【Download】,要稍等一會,因為網(wǎng)站會自動檢測操作系統(tǒng),直接列出可下載的安裝文件。下載完成以后,進行程序的安裝。先將下方的【Add python 3.6 to PYTH】打勾,表示變量的添加。上方的【Install Now】代表默認的安裝...
如何切換python版本
接下來,我將介紹如何利用pycharm這個IDE進行python版本的切換。我使用的pycharm版本是下面這個,不同版本之間可能有所差異:可以看到,目前我使用的python版本是2.7:相關推薦:《Python教程》如果想要切換到python3,我們需要做以下幾步(前提是已經(jīng)安裝了python3)。1、File - Settings。2、在Project中,...
相關評說:
潛江市起升: ______ a=[] if a: print('列表非空') else: print('列表為空')
潛江市起升: ______ str = raw_input('隨便輸入點什么') long = len(str) 如果我輸入的是123456 len是一個內(nèi)建函數(shù),會計算我str這個變量輸入了幾個字符 最后long就等于6
潛江市起升: ______ 最簡單粗暴的逐行檢查 import os fileA = 'a.txt' fileB = 'b.txt' with open(fileA, 'r') as fpa: for lineA in fpa: with open(fileB, 'r') as fpb: for lineB in fpb: if lineA.replace('\n', '').find(lineB.replace('\n', '')) >= 0: print(lineB.replace('\n', '') + ' in ' + lineA.replace('\n', ''))
潛江市起升: ______ 爬蟲通常指的是網(wǎng)絡爬蟲,就是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本.因為python的腳本特性,python易于配置,對字符的處理也非常靈活,加上...
潛江市起升: ______ # coding=utf-8 # 聲明編碼方式 默認編碼方式ASCII import urllib import time import re import os ''''' Python下載游迅網(wǎng)圖片 BY:Eastmount ''' ''''' ************************************************** #第一步 遍歷獲取每頁對應主題的URL *************************...
潛江市起升: ______ # -*- coding: utf-8 -*- import colorsys def get_dominant_color(image): #顏色模式轉(zhuǎn)換,以便輸出rgb顏色值 image = image.convert('RGBA') #生成縮略圖,減少計算量,減小cpu壓力 image.thumbnail((200, 200)) max_score = None dominant_...
潛江市起升: ______ 可以使用 Python Image Library 做,load() 函數(shù)會返回一個對象,這個對象我們可以把它當作一個二維數(shù)組對待,而數(shù)組中存放的就是點的 RGB 值,可以很容易地訪問到任何像素點的 RGB 值:from PIL import Image# 可以支持很多種圖片格式.im = Image.open("your_picture.jpg") pix = im.load()# 獲得圖片的尺度,可以用于迭代 print im.size# 獲得某個像素點的 RGB 值,像素點坐標由 [x, y] 指定 print pix[x,y]# 設置 [x, y] 點的 RGB 的值為 value pix[x,y] = value
潛江市起升: ______ 如下代碼:a = [1,2,3] print(type(a)) print(a) 執(zhí)行結(jié)果是:[1, 2, 3] 也就是說通過print(type(對象名))可以輸出對象類型,print(對象名)可以輸出對象的詳細信息.
潛江市起升: ______ # open filefin = open("file01.txt", "r")fout = open("file02.txt", "w")# initcount_AG = 0count_AT = 0count_AC = 0# data linesfor line i...