91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何通過Pillow實現圖片對比

發布時間:2020-07-29 13:38:13 來源:億速云 閱讀:200 作者:小豬 欄目:開發技術

這篇文章主要講解了Python如何通過Pillow實現圖片對比,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

 在編寫Web自動化測試用例的時候,如何寫斷言使新手不解,嚴格意義上來講,沒有斷言的自動化腳本不能叫測試用例。就像功能測試一樣,當測試人員做了一些操作之后必然會判斷實際結果是否等于預期結果,只不過,這個過程由測試人員的眼睛完成。而自動化測試腳本必然要通過一此信息來斷定用例是否成功。

這其中常用的三種信息分別是:

title :頁面不同或顯示不同時往往title也會有所變化。

url :與title類似,當頁面發生變化時,跟著url也會改變。

text:相比前者應用更廣泛,因為通過它可以獲取頁面上的任意標識性文本,用于“證明”用例執行是成功的。例如,登陸之后人用戶名,查詢的結果等。

但是,在有些情況下,無法獲取這些信息來證明用例是成功的怎么辦?當然,下策是不寫斷言,腳本運行沒有報錯來證明用例執行成功,這當然是無奈之舉。除此之外還可以選擇斷言兩張圖片,在用例執行正確的情況下對當前頁面進行截圖,在用例執行的過程中再次進行截圖。通過對兩張圖片進行比較,從而判斷用例是否運行成功。

Pillow下載:https://pypi.python.org/pypi/Pillow/3.0.0

根據自己的操作系統以及python版本選擇下載。

安裝:

> python3 -m pip install Pillow-3.0.0-cp35-none-win_amd64.whl

Processing c:\selenium\pillow-3.0.0-cp35-none-win_amd64.whl

Installing collected packages: Pillow

Successfully installed Pillow-3.0.0

  注意,因為我本機同時安裝了Python2.7和Python3.5,所以,這里特意指定安裝在Python3的下面。

from PIL import Image
import math
import operator
from functools import reduce


def image_contrast(img1, img2):

  image1 = Image.open(img1)
  image2 = Image.open(img2)

  h2 = image1.histogram()
  h3 = image2.histogram()

  result = math.sqrt(reduce(operator.add, list(map(lambda a,b: (a-b)**2, h2, h3)))/len(h2) )
  return result

if __name__ == '__main__':
  img1 = "./img1.jpg" # 指定圖片路徑
  img2 = "./img2.jpg"
  result = image_contrast(img1,img2)
  print(result)

  如果兩張圖片完全相等,則返回結果為浮點類型“0.0”,如果不相同則返回結果值越大。

  這樣就可以在自動化測試用例中調用該方法來斷言執行結果。

看完上述內容,是不是對Python如何通過Pillow實現圖片對比有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

明水县| 赤城县| 齐河县| 建宁县| 方山县| 新巴尔虎右旗| 尼木县| 神农架林区| 达州市| 上林县| 湖北省| 赣榆县| 新巴尔虎左旗| 张家港市| 大名县| 乐至县| 崇文区| 兴宁市| 肃南| 涪陵区| 响水县| 凤冈县| 冀州市| 大田县| 嘉善县| 衢州市| 邵阳市| 咸宁市| 贵港市| 宜城市| 宁化县| 乌拉特前旗| 武冈市| 监利县| 海兴县| 顺平县| 平武县| 广昌县| 乌鲁木齐县| 麻江县| 长海县|