[英]Python Pillow image quality different in linux
我有一個機器人玩一個由硒驅動的在線游戲。 它通過利用圖像識別(查找子圖像)來工作。 在Windows中,我的機器人工作正常; 但是,我的機器人在Ubuntu中不起作用。
機器人的工作原理如下:
我已經將問題追溯到我用來查找子圖像的函數。 它不起作用,因為Ubuntu上的屏幕截圖圖像質量不同,並且它無法進行逐像素匹配。
從Windows運行的工作針和干草堆圖像在Ubuntu上工作正常,反之亦然 - 從Ubuntu創建的非工作針和干草堆圖像集在Windows和Ubuntu上都不起作用。
我的截圖在Windows中總是大約6KB,在Ubuntu中大約是5KB。
當我在PIL中打開我的本地“針”圖像並保存它時,它從1.7KB變為1.5KB並且因此不起作用。 這是代碼的非500行版本:
# imports and everything else here..
browser.save_screenshot("haystack.png") # selenium screenshot
haystack = Image.open("haystack.png")
needle = Image.open("needle.png") # the needle is a local file
haystack.save("haystack_new.png","PNG",quality=100) # DEBUGGING
needle.save("needle_new.png","PNG",quality=100) # DEBUGGING
# call "needle in a haystack" locator function here
誰能告訴我出了什么問題? 為什么linux截圖質量較差? 我應該安裝不同版本的zlib還是僅使用opencv?
不同的瀏覽器(可能還有操作系統/窗口管理器)以不同的方式實現顏色渲染 - 因此顯示的像素值可能具有不同的R,G,B值強度,這些值對於人眼是不可見的,但是它們之間的屏幕截圖進行跨平台像素比較。瀏覽器/平台無效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.