當前位置:首頁 » 編程語言 » python圖片特徵提取

python圖片特徵提取

發布時間: 2022-11-26 12:05:20

❶ OpenCV-python之——圖像SIFT特徵提取

在一定的范圍內,無論物體是大還是小,人眼都可以分辨出來。然而計算機要有相同的能力卻不是那麼的容易,在未知的場景中,計算機視覺並不能提供物體的尺度大小,其中的一種方法是把物體不同尺度下的圖像都提供給機器,讓機器能夠對物體在不同的尺度下有一個統一的認知。在建立統一認知的過程中,要考慮的就是在圖像在不同的尺度下都存在的特徵點。

在早期圖像的多尺度通常使用圖像金字塔表示形式。圖像金字塔是同一圖像在不同的解析度下得到的一組結果其生成過程一般包括兩個步驟:

多解析度的圖像金字塔雖然生成簡單,但其本質是降采樣,圖像的局部特徵則難以保持,也就是無法保持特徵的尺度不變性。

我們還可以通過圖像的模糊程度來模擬人在距離物體由遠到近時物體在視網膜上成像過程,距離物體越近其尺寸越大圖像也越模糊,這就是高斯尺度空間,使用不同的參數模糊圖像(解析度不變),是尺度空間的另一種表現形式。

構建尺度空間的目的是為了檢測出在不同的尺度下都存在的特徵點,而檢測特徵點較好的運算元是Δ^2G(高斯拉普拉斯,LoG)
使用LoG雖然能較好的檢測到圖像中的特徵點,但是其運算量過大,通常可使用DoG(差分高斯,Difference of Gaussina)來近似計算LoG。

從上式可以知道,將相鄰的兩個高斯空間的圖像相減就得到了DoG的響應圖像。為了得到DoG圖像,先要構建高斯尺度空間,而高斯的尺度空間可以在圖像金字塔降采樣的基礎上加上高斯濾波得到,也就是對圖像金字塔的每層圖像使用不同的參數σ進行高斯模糊,使每層金字塔有多張高斯模糊過的圖像。
如下圖,octave間是降采樣關系,且octave(i+1)的第一張(從下往上數)圖像是由octave(i)中德倒數第三張圖像降采樣得到。octave內的圖像大小一樣,只是高斯模糊使用的尺度參數不同。

對於一幅圖像,建立其在不同尺度scale下的圖像,也稱為octave,這是為了scale-invariant,也就是在任何尺度都能有對應的特徵點。下圖中右側的DoG就是我們構建的尺度空間。

為了尋找尺度空間的極值點,每一個采樣點要和它所有的相鄰點比較,看其是否比它的圖像域和尺度域的相鄰點大或者小。如圖所示,中間的檢測點和它同尺度的8個相鄰點和上下相鄰尺度對應的9×2個點共26個點比較,以確保在尺度空間和二維圖像空間都檢測到極值點。 一個點如果在DOG尺度空間本層以及上下兩層的26個領域中是最大或最小值時,就認為該點是圖像在該尺度下的一個特徵點。下圖中將叉號點要比較的26個點都標為了綠色。

找到所有特徵點後, 要去除低對比度和不穩定的邊緣效應的點 ,留下具有代表性的關鍵點(比如,正方形旋轉後變為菱形,如果用邊緣做識別,4條邊就完全不一樣,就會錯誤;如果用角點識別,則穩定一些)。去除這些點的好處是增強匹配的抗噪能力和穩定性。最後,對離散的點做曲線擬合,得到精確的關鍵點的位置和尺度信息。

近來不斷有人改進,其中最著名的有 SURF(計算量小,運算速度快,提取的特徵點幾乎與SIFT相同)和 CSIFT(彩色尺度特徵不變變換,顧名思義,可以解決基於彩色圖像的SIFT問題)。

其中sift.detectAndCompute()函數返回kp,des。

上圖dog的shape為(481, 500, 3),提取的特徵向量des的shape為(501, 128),501個128維的特徵點。

該方法可以在特徵點處繪制一個小圓圈。

https://blog.csdn.net/happyer88/article/details/45817305
https://www.jianshu.com/p/d94e558ebe26
https://www.cnblogs.com/wangguchangqing/p/4853263.html

❷ 在Python中如何提取多個圖片的特徵值

importnumpyasnp

importmatplotlib.pyplotasplt

importscipy

caffe_root='/home/hser/Project/caffe/'

importsys

sys.path.insert(0,caffe_root+'python/')

importcaffe


plt.rcParams['figure.figsize']=(10,10)

plt.rcParams['image.interpolation']='nearest'

plt.rcParams['image.cmap']='gray'

net=caffe.Classifier(caffe_root+'models/bvlc_reference_caffenet/deploy.prototxt',

caffe_root+'models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel')

net.set_phase_test()

net.set_mode_cpu()

net.set_mean('data',np.load(caffe_root+'python/caffe/imagenet/ilsvrc_2012_mean.npy'))

net.set_raw_scale('data',255)

net.set_channel_swap('data',(2,1,0))


#infact,youcaninputalistofimages.

scores=net.predict([caffe.io.load_image(caffe_root+"examples/yilin/data/building.jpg"),caffe.io.load_image(caffe_root+"examples/yilin/data/thumb.jpg")])

output=open("feature.txt","w")

#printscores[0].argmax()

#print[(k,v.data.shape)fork,vinnet.blobs.items()]


#thefc6isthefc6layerfeature,data[4]meansthefivecropimages,-images.

#feat=net.blobs['fc6'].data[4]

feat=net.blobs['prob'].data[4]

plt.plot(feat.flat)

plt.show()


feat2=net.blobs['fc6'].data[14]

plt.plot(feat2.flat)

plt.show()

❸ Python如何圖像識別

首先,先定位好問題是屬於圖像識別任務中的哪一類,最好上傳一張植物葉子的圖片。因為目前基於深度學習的卷積神經網路(CNN)確實在圖像識別任務中取得很好的效果,深度學習屬於機器學習,其研究的範式,或者說處理圖像的步驟大體上是一致的。

1、第一步,准備好數據集,這里是指,需要知道輸入、輸出(視任務而定,針對你這個問題,建議使用有監督模型)是什麼。你可以准備一個文件夾,裡面存放好植物葉子的圖像,而每張圖像對應一個標簽(有病/沒病,或者是多類別標簽,可能具體到哪一種病)。
具體實現中,會將數據集分為三個:訓練集(計算模型參數)、驗證集(調參,這個經常可以不需要實現劃分,在python中可以用scikit-learn中的函數解決。測試集用於驗證模型的效果,與前面兩個的區別是,模型使用訓練集和驗證集時,是同時使用了輸入數據和標簽,而在測試階段,模型是用輸入+模型參數,得到的預測與真實標簽進行對比,進而評估效果。
2、確定圖像識別的任務是什麼?

圖像識別的任務可以分為四個:圖像分類、目標檢測、語義分割、實例分割,有時候是幾個任務的結合。
圖像分類是指以圖像為輸入,輸出對該圖像內容分類的描述,可以是多分類問題,比如貓狗識別。通過足夠的訓練數據(貓和狗的照片-標簽,當然現在也有一系列的方法可以做小樣本訓練,這是細節了,這里並不敞開講),讓計算機/模型輸出這張圖片是貓或者狗,及其概率。當然,如果你的訓練數據還有其它動物,也是可以的,那就是圖像多分類問題。
目標檢測指將圖像或者視頻中的目標與不感興趣的部分區分開,判斷是否存在目標,並確定目標的具體位置。比如,想要確定這只狗所佩戴的眼睛的位置,輸入一張圖片,輸出眼睛的位置(可視化後可以講目標區域框出來)。

看到這里,應該想想植物葉子診斷疾病的問題,只需要輸入一整張植物葉子的圖片,輸出是哪種疾病,還是需要先提取葉子上某些感興趣區域(可能是病變區域),在用病變區域的特徵,對應到具體的疾病?
語義分割是當今計算機視覺領域的關鍵問題之一,宏觀上看,語義分割是一項高層次的任務。其目的是以一些原始圖像作為輸入,輸出具有突出顯示的感興趣的掩膜,其實質上是實現了像素級分類。對於輸入圖片,輸出其舌頭區域(注意可以是不規則的,甚至不連續的)。

而實例分割,可以說是在語義分割的基礎上,在像素層面給出屬於每個實例的像素。

看到這里,可以具體思考下自己的問題是對應其中的哪一類問題,或者是需要幾種任務的結合。

3、實際操作
可以先通過一個簡單的例子入手,先了解構建這一個框架需要准備什麼。手寫數字識別可以說是深度學習的入門數據集,其任務也經常作為該領域入門的案例,也可以自己在網上尋找。

❹ Python如何圖像識別

打開winPython工具包輸入以下代碼,如圖所示。
from skimage import io
if __name__ == '__main__':
img_name="D:\\WinPython-64bit-3.5.3.0Qt5\\notebooks\\hashiqi.jpg"
print("我的圖片!")
img=io.imread(img_name,as_grey=False)
io.imshow(img)

其中變數img_name是為了指定自己圖片所存的路徑。單擊保存按鈕,
會跳出一個設置文件名的界面,填入要保存的名字即可。單擊運行按鈕,一般要單擊兩次才行,運行代碼。單擊後,就可以查看的我們顯示的圖片了。

❺ python中用tensorflow怎樣提取多張圖片的特徵

  1. 可以將多張圖片按照channel拼接,用2d卷積提取特徵。

  2. 拼接成3維圖片,用3d卷積提取特徵

❻ 10 個 Python 圖像編輯工具

以下提到的這些 Python 工具在編輯圖像、操作圖像底層數據方面都提供了簡單直接的方法。

-- Parul Pandey

當今的世界充滿了數據,而圖像數據就是其中很重要的一部分。但只有經過處理和分析,提高圖像的質量,從中提取出有效地信息,才能利用到這些圖像數據。

常見的圖像處理操作包括顯示圖像,基本的圖像操作,如裁剪、翻轉、旋轉;圖像的分割、分類、特徵提取;圖像恢復;以及圖像識別等等。Python 作為一種日益風靡的科學編程語言,是這些圖像處理操作的最佳選擇。同時,在 Python 生態當中也有很多可以免費使用的優秀的圖像處理工具。

下文將介紹 10 個可以用於圖像處理任務的 Python 庫,它們在編輯圖像、查看圖像底層數據方面都提供了簡單直接的方法。

scikit-image 是一個結合 NumPy 數組使用的開源 Python 工具,它實現了可用於研究、教育、工業應用的演算法和應用程序。即使是對於剛剛接觸 Python 生態圈的新手來說,它也是一個在使用上足夠簡單的庫。同時它的代碼質量也很高,因為它是由一個活躍的志願者社區開發的,並且通過了 同行評審(peer review)。

scikit-image 的 文檔 非常完善,其中包含了豐富的用例。

可以通過導入 skimage 使用,大部分的功能都可以在它的子模塊中找到。

圖像濾波(image filtering):

使用 match_template() 方法實現 模板匹配(template matching):

在 展示頁面 可以看到更多相關的例子。

NumPy 提供了對數組的支持,是 Python 編程的一個核心庫。圖像的本質其實也是一個包含像素數據點的標准 NumPy 數組,因此可以通過一些基本的 NumPy 操作(例如切片、 掩膜(mask)、 花式索引(fancy indexing)等),就可以從像素級別對圖像進行編輯。通過 NumPy 數組存儲的圖像也可以被 skimage 載入並使用 matplotlib 顯示。

在 NumPy 的 官方文檔 中提供了完整的代碼文檔和資源列表。

使用 NumPy 對圖像進行 掩膜(mask)操作:

像 NumPy 一樣, SciPy 是 Python 的一個核心科學計算模塊,也可以用於圖像的基本操作和處理。尤其是 SciPy v1.1.0 中的 scipy.ndimage 子模塊,它提供了在 n 維 NumPy 數組上的運行的函數。SciPy 目前還提供了 線性和非線性濾波(linear and non-linear filtering)、 二值形態學(binary morphology)、 B 樣條插值(B-spline interpolation)、 對象測量(object measurements)等方面的函數。

在 官方文檔 中可以查閱到 scipy.ndimage 的完整函數列表。

使用 SciPy 的 高斯濾波 對圖像進行模糊處理:

PIL (Python Imaging Library) 是一個免費 Python 編程庫,它提供了對多種格式圖像文件的打開、編輯、保存的支持。但在 2009 年之後 PIL 就停止發布新版本了。幸運的是,還有一個 PIL 的積極開發的分支 Pillow ,它的安裝過程比 PIL 更加簡單,支持大部分主流的操作系統,並且還支持 Python 3。Pillow 包含了圖像的基礎處理功能,包括像素點操作、使用內置卷積內核進行濾波、顏色空間轉換等等。

Pillow 的 官方文檔 提供了 Pillow 的安裝說明自己代碼庫中每一個模塊的示例。

使用 Pillow 中的 ImageFilter 模塊實現圖像增強:

OpenCV(Open Source Computer Vision 庫)是計算機視覺領域最廣泛使用的庫之一, OpenCV-Python 則是 OpenCV 的 Python API。OpenCV-Python 的運行速度很快,這歸功於它使用 C/C++ 編寫的後台代碼,同時由於它使用了 Python 進行封裝,因此調用和部署的難度也不大。這些優點讓 OpenCV-Python 成為了計算密集型計算機視覺應用程序的一個不錯的選擇。

入門之前最好先閱讀 OpenCV2-Python-Guide 這份文檔。

使用 OpenCV-Python 中的 金字塔融合(Pyramid Blending)將蘋果和橘子融合到一起:

SimpleCV 是一個開源的計算機視覺框架。它支持包括 OpenCV 在內的一些高性能計算機視覺庫,同時不需要去了解 位深度(bit depth)、文件格式、 色彩空間(color space)之類的概念,因此 SimpleCV 的學習曲線要比 OpenCV 平緩得多,正如它的口號所說,「將計算機視覺變得更簡單」。SimpleCV 的優點還有:

官方文檔 簡單易懂,同時也附有大量的學慣用例。

文檔 包含了安裝介紹、示例以及一些 Mahotas 的入門教程。

Mahotas 力求使用少量的代碼來實現功能。例如這個 Finding Wally 游戲 :

ITK (Insight Segmentation and Registration Toolkit)是一個為開發者提供普適性圖像分析功能的開源、跨平台工具套件, SimpleITK 則是基於 ITK 構建出來的一個簡化層,旨在促進 ITK 在快速原型設計、教育、解釋語言中的應用。SimpleITK 作為一個圖像分析工具包,它也帶有 大量的組件 ,可以支持常規的濾波、圖像分割、 圖像配准(registration)功能。盡管 SimpleITK 使用 C++ 編寫,但它也支持包括 Python 在內的大部分編程語言。

有很多 Jupyter Notebooks 用例可以展示 SimpleITK 在教育和科研領域中的應用,通過這些用例可以看到如何使用 Python 和 R 利用 SimpleITK 來實現互動式圖像分析。

使用 Python + SimpleITK 實現的 CT/MR 圖像配准過程:

pgmagick 是使用 Python 封裝的 GraphicsMagick 庫。 GraphicsMagick 通常被認為是圖像處理界的瑞士軍刀,因為它強大而又高效的工具包支持對多達 88 種主流格式圖像文件的讀寫操作,包括 DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM、TIFF 等等。

pgmagick 的 GitHub 倉庫 中有相關的安裝說明、依賴列表,以及詳細的 使用指引 。

圖像縮放:

邊緣提取:

Cairo 是一個用於繪制矢量圖的二維圖形庫,而 Pycairo 是用於 Cairo 的一組 Python 綁定。矢量圖的優點在於做大小縮放的過程中不會丟失圖像的清晰度。使用 Pycairo 可以在 Python 中調用 Cairo 的相關命令。

Pycairo 的 GitHub 倉庫 提供了關於安裝和使用的詳細說明,以及一份簡要介紹 Pycairo 的 入門指南 。

使用 Pycairo 繪制線段、基本圖形、 徑向漸變(radial gradients):

以上就是 Python 中的一些有用的圖像處理庫,無論你有沒有聽說過、有沒有使用過,都值得試用一下並了解它們。

via: https://opensource.com/article/19/3/python-image-manipulation-tools

作者: Parul Pandey 選題: lujun9972 譯者: HankChow 校對: wxy

❼ Python如何圖像識別

pillow包可以處理圖像
pillow:(了解)(python image library)是一個有關圖像圖片處理的包,這個包底層用的C C++,但PIL包是python2下使用。所以又更新了一個適合python3版本的、基於PIL包的新包pillow。
安裝pillow:
pip install pillow
至於識別,那就可能是文字識別或人臉識別。這需要學習很多東西,建議小白還是先把基礎學好吧。

❽ Tensorflow提取黑白色圖片特徵

可以提取。
tensorflow利用預訓練的模型提取圖片的特徵,想改變一些只由黑白元素組成的圖片(MNIST)。在通過這些python元素中的代碼,我可以很容易地將黑轉換為白,白到黑。
這個方法利用的是tensorflow的IO,先將數據讀取為二進制格式,然後在解碼為圖片對應的格式的張量。讀取用的是tf.io.read_file,解碼轉換用的是tf.image.decode_jpeg,這里是將jpg格式的圖片進行解碼,其他格式的圖片解碼函數也在tf.image模塊下。

❾ python處理圖片數據

目錄

1.機器是如何存儲圖像的?

2.在Python中讀取圖像數據

3.從圖像數據中提取特徵的方法#1:灰度像素值特徵

4.從圖像數據中提取特徵的方法#2:通道的平均像素值

5.從圖像數據中提取特徵的方法#3:提取邊緣
是一張數字8的圖像,仔細觀察就會發現,圖像是由小方格組成的。這些小方格被稱為像素。

但是要注意,人們是以視覺的形式觀察圖像的,可以輕松區分邊緣和顏色,從而識別圖片中的內容。然而機器很難做到這一點,它們以數字的形式存儲圖像。請看下圖:

機器以數字矩陣的形式儲存圖像,矩陣大小取決於任意給定圖像的像素數。

假設圖像的尺寸為180 x 200或n x m,這些尺寸基本上是圖像中的像素數(高x寬)。

這些數字或像素值表示像素的強度或亮度,較小的數字(接近0)表示黑色,較大的數字(接近255)表示白色。通過分析下面的圖像,讀者就會弄懂到目前為止所學到的知識。

下圖的尺寸為22 x 16,讀者可以通過計算像素數來驗證:

圖片源於機器學習應用課程

剛才討論的例子是黑白圖像,如果是生活中更為普遍的彩色呢?你是否認為彩色圖像也以2D矩陣的形式存儲?

彩色圖像通常由多種顏色組成,幾乎所有顏色都可以從三原色(紅色,綠色和藍色)生成。

因此,如果是彩色圖像,則要用到三個矩陣(或通道)——紅、綠、藍。每個矩陣值介於0到255之間,表示該像素的顏色強度。觀察下圖來理解這個概念:

圖片源於機器學習應用課程

左邊有一幅彩色圖像(人類可以看到),而在右邊,紅綠藍三個顏色通道對應三個矩陣,疊加三個通道以形成彩色圖像。

請注意,由於原始矩陣非常大且可視化難度較高,因此這些不是給定圖像的原始像素值。此外,還可以用各種其他的格式來存儲圖像,RGB是最受歡迎的,所以筆者放到這里。讀者可以在此處閱讀更多關於其他流行格式的信息。

用Python讀取圖像數據

下面開始將理論知識付諸實踐。啟動Python並載入圖像以觀察矩陣:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from skimage.io import imread, imshow
image = imread('image_8_original.png', as_gray=True)
imshow(image)

#checking image shape
image.shape, image

(28,28)

矩陣有784個值,而且這只是整個矩陣的一小部分。用一個LIVE編碼窗口,不用離開本文就可以運行上述所有代碼並查看結果。

下面來深入探討本文背後的核心思想,並探索使用像素值作為特徵的各種方法。

方法#1:灰度像素值特徵

從圖像創建特徵最簡單的方法就是將原始的像素用作單獨的特徵。

考慮相同的示例,就是上面那張圖(數字『8』),圖像尺寸為28×28。

能猜出這張圖片的特徵數量嗎?答案是與像素數相同!也就是有784個。

那麼問題來了,如何安排這784個像素作為特徵呢?這樣,可以簡單地依次追加每個像素值從而生成特徵向量。如下圖所示:

下面來用Python繪制圖像,並為該圖像創建這些特徵:

image = imread('puppy.jpeg', as_gray=True)

image.shape, imshow(image)

(650,450)

該圖像尺寸為650×450,因此特徵數量應為297,000。可以使用NumPy中的reshape函數生成,在其中指定圖像尺寸:

#pixel features

features = np.reshape(image, (660*450))

features.shape, features

(297000,)
array([0.96470588, 0.96470588, 0.96470588, ..., 0.96862745, 0.96470588,
0.96470588])

這里就得到了特徵——長度為297,000的一維數組。很簡單吧?在實時編碼窗口中嘗試使用此方法提取特徵。

但結果只有一個通道或灰度圖像,對於彩色圖像是否也可以這樣呢?來看看吧!

方法#2:通道的平均像素值

在讀取上一節中的圖像時,設置了參數『as_gray = True』,因此在圖像中只有一個通道,可以輕松附加像素值。下面刪除參數並再次載入圖像:

image = imread('puppy.jpeg')
image.shape

(660, 450, 3)

這次,圖像尺寸為(660,450,3),其中3為通道數量。可以像之前一樣繼續創建特徵,此時特徵數量將是660*450*3 = 891,000。

或者,可以使用另一種方法:

生成一個新矩陣,這個矩陣具有來自三個通道的像素平均值,而不是分別使用三個通道中的像素值。

下圖可以讓讀者更清楚地了解這一思路:

這樣一來,特徵數量保持不變,並且還能考慮來自圖像全部三個通道的像素值。

image = imread('puppy.jpeg')
feature_matrix = np.zeros((660,450))
feature_matrix.shape

(660, 450)

現有一個尺寸為(660×450×3)的三維矩陣,其中660為高度,450為寬度,3是通道數。為獲取平均像素值,要使用for循環:

for i in range(0,iimage.shape[0]):
for j in range(0,image.shape[1]):
feature_matrix[i][j] = ((int(image[i,j,0]) + int(image[i,j,1]) + int(image[i,j,2]))/3)

新矩陣具有相同的高度和寬度,但只有一個通道。現在,可以按照與上一節相同的步驟進行操作。依次附加像素值以獲得一維數組:

features = np.reshape(feature_matrix, (660*450))
features.shape

(297000,)

方法#3:提取邊緣特徵

請思考,在下圖中,如何識別其中存在的對象:

識別出圖中的對象很容易——狗、汽車、還有貓,那麼在區分的時候要考慮哪些特徵呢?形狀是一個重要因素,其次是顏色,或者大小。如果機器也能像這樣識別形狀會怎麼樣?

類似的想法是提取邊緣作為特徵並將其作為模型的輸入。稍微考慮一下,要如何識別圖像中的邊緣呢?邊緣一般都是顏色急劇變化的地方,請看下圖:

筆者在這里突出了兩個邊緣。這兩處邊緣之所以可以被識別是因為在圖中,可以分別看到顏色從白色變為棕色,或者由棕色變為黑色。如你所知,圖像以數字的形式表示,因此就要尋找哪些像素值發生了劇烈變化。

假設圖像矩陣如下:

圖片源於機器學習應用課程

該像素兩側的像素值差異很大,於是可以得出結論,該像素處存在顯著的轉變,因此其為邊緣。現在問題又來了,是否一定要手動執行此步驟?

當然不!有各種可用於突出顯示圖像邊緣的內核,剛才討論的方法也可以使用Prewitt內核(在x方向上)來實現。以下是Prewitt內核:

獲取所選像素周圍的值,並將其與所選內核(Prewitt內核)相乘,然後可以添加結果值以獲得最終值。由於±1已經分別存在於兩列之中,因此添加這些值就相當於獲取差異。

還有其他各種內核,下面是四種最常用的內核:

圖片源於機器學習應用課程

現在回到筆記本,為同一圖像生成邊緣特徵:

#importing the required libraries
import numpy as np
from skimage.io import imread, imshow
from skimage.filters import prewitt_h,prewitt_v
import matplotlib.pyplot as plt
%matplotlib inline

#reading the image
image = imread('puppy.jpeg',as_gray=True)

#calculating horizontal edges using prewitt kernel
edges_prewitt_horizontal = prewitt_h(image)
#calculating vertical edges using prewitt kernel
edges_prewitt_vertical = prewitt_v(image)

imshow(edges_prewitt_vertical, cmap='gray')

❿ python 提取excel中的圖片

最近由於工作需要,研究了一下使用python zipfile從excel提取圖片的操作,但是隨之而來的問題是,Python提取出來的圖片順序是如何得來的?於是乎,我就測試了一下
新建一個excel,分別插入三張圖片,順序:1,2,3

輸出的圖片順序如圖1

當我改變圖片的插入順序為:3,2,1(excel插入順序圖1),

同樣excel插入的順序我改成:2,3,1(excel插入順序圖2)

抓取的圖片的順序如圖4

由此可見,Python提取的圖片順序和插入圖片的順序一致。

熱點內容
python虛擬環境開發 發布:2025-01-17 04:04:34 瀏覽:690
編譯運行後保存exe文件 發布:2025-01-17 04:00:18 瀏覽:565
asm源碼編譯 發布:2025-01-17 03:54:24 瀏覽:287
如何配置svi介面的ip地址 發布:2025-01-17 03:48:09 瀏覽:44
微軟怎麼解壓縮文件 發布:2025-01-17 03:43:06 瀏覽:204
有沒有手機可以用的java編譯器 發布:2025-01-17 03:38:56 瀏覽:542
手把手教你學c語言版 發布:2025-01-17 03:38:52 瀏覽:781
最優化遺傳演算法 發布:2025-01-17 03:35:24 瀏覽:547
四代飛度家用需要加裝哪些配置 發布:2025-01-17 03:34:28 瀏覽:877
安卓手機貓和老鼠怎麼換號 發布:2025-01-17 03:23:58 瀏覽:470