欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用python實(shí)現(xiàn)對(duì)比兩張圖片的不同

 更新時(shí)間:2018年02月05日 11:11:48   作者:botoo  
這篇文章主要介紹了用python實(shí)現(xiàn)對(duì)比兩張圖片的不同的相關(guān)資料,需要的朋友可以參考下

from PIL import Image
from PIL import ImageChops 
def compare_images(path_one, path_two, diff_save_location):
  """
  比較圖片,如果有不同則生成展示不同的圖片
  @參數(shù)一: path_one: 第一張圖片的路徑
  @參數(shù)二: path_two: 第二張圖片的路徑
  @參數(shù)三: diff_save_location: 不同圖的保存路徑
  """
  image_one = Image.open(path_one)
  image_two = Image.open(path_two)
  try: 
    diff = ImageChops.difference(image_one, image_two)
    if diff.getbbox() is None:
    # 圖片間沒有任何不同則直接退出
      print("【+】We are the same!")
    else:
      diff.save(diff_save_location)
  except ValueError as e:
    text = ("表示圖片大小和box對(duì)應(yīng)的寬度不一致,參考API說明:Pastes another image into this image."
        "The box argument is either a 2-tuple giving the upper left corner, a 4-tuple defining the left, upper, "
        "right, and lower pixel coordinate, or None (same as (0, 0)). If a 4-tuple is given, the size of the pasted "
        "image must match the size of the region.使用2緯的box避免上述問題")
    print("【{0}】{1}".format(e,text))
if __name__ == '__main__':
  compare_images('1.png',
          '2.png',
          '我們不一樣.png')

執(zhí)行結(jié)果:

第二種方法:

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)
  h1 = image1.histogram()
  h2 = image2.histogram()
  result = math.sqrt(reduce(operator.add, list(map(lambda a,b: (a-b)**2, h1, h2)))/len(h1) )
  return result
if __name__ == '__main__':
  img1 = "./1.png" # 指定圖片路徑
  img2 = "./2.png"
  result = image_contrast(img1,img2)
  print(result)

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

同樣用上面兩張圖片,執(zhí)行結(jié)果為38,還是比較小的:

這樣就可以在自動(dòng)化測(cè)試用例中調(diào)用該方法來斷言執(zhí)行結(jié)果。

關(guān)于Pillow庫的詳細(xì)文檔:

http://pillow.readthedocs.org/en/latest/index.html

總結(jié)

以上所述是小編給大家介紹的用python實(shí)現(xiàn)對(duì)比兩張圖片的不同,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Python兩臺(tái)電腦實(shí)現(xiàn)TCP通信的方法示例

    Python兩臺(tái)電腦實(shí)現(xiàn)TCP通信的方法示例

    這篇文章主要介紹了Python兩臺(tái)電腦實(shí)現(xiàn)TCP通信的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • django中使用POST方法獲取POST數(shù)據(jù)

    django中使用POST方法獲取POST數(shù)據(jù)

    這篇文章主要介紹了django中使用POST方法獲取POST數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python 如何測(cè)試文件是否存在

    Python 如何測(cè)試文件是否存在

    這篇文章主要介紹了Python 如何測(cè)試文件是否存在,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 基于python實(shí)現(xiàn)音樂播放器代碼實(shí)例

    基于python實(shí)現(xiàn)音樂播放器代碼實(shí)例

    這篇文章主要介紹了基于python實(shí)現(xiàn)音樂播放器代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Python中使用動(dòng)態(tài)變量名的方法

    Python中使用動(dòng)態(tài)變量名的方法

    這篇文章主要介紹了Python中使用動(dòng)態(tài)變量名的方法,需要的朋友可以參考下
    2014-05-05
  • Python稀疏矩陣及參數(shù)保存代碼實(shí)現(xiàn)

    Python稀疏矩陣及參數(shù)保存代碼實(shí)現(xiàn)

    這篇文章主要介紹了Python稀疏矩陣及參數(shù)保存代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 淺談keras中的目標(biāo)函數(shù)和優(yōu)化函數(shù)MSE用法

    淺談keras中的目標(biāo)函數(shù)和優(yōu)化函數(shù)MSE用法

    這篇文章主要介紹了淺談keras中的目標(biāo)函數(shù)和優(yōu)化函數(shù)MSE用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python中threading庫實(shí)現(xiàn)線程鎖與釋放鎖

    Python中threading庫實(shí)現(xiàn)線程鎖與釋放鎖

    threading用于提供線程相關(guān)的操作,為了保證安全的訪問一個(gè)資源對(duì)象,我們需要?jiǎng)?chuàng)建鎖。那么Python線程鎖與釋放鎖如何實(shí)現(xiàn),感興趣的小伙伴們可以參考一下
    2021-05-05
  • Python3如何使用tabulate打印數(shù)據(jù)

    Python3如何使用tabulate打印數(shù)據(jù)

    這篇文章主要介紹了Python3如何使用tabulate打印數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • python自定義線程池控制線程數(shù)量的示例

    python自定義線程池控制線程數(shù)量的示例

    今天小編就為大家分享一篇python自定義線程池控制線程數(shù)量的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02

最新評(píng)論