【326】PIL 截圖及圖片識別

參考:另外一種用python識別圖片文字的方法html

參考:Python人工智能之圖片識別,Python3一行代碼實現圖片文字識別python

參考:Python3+Selenium3環境構建填坑之旅segmentfault

參考:基於python的-PIL定位截圖人工智能

參考:Python的PIL(圖片截取).net

參考:Python實現截圖htm

參考:Python實現屏幕截圖的兩種方式blog

參考:python圖像處理:pytesseract和PIL圖片

參考:Python編寫屏幕截圖程序方法(clipboard)ip


1、定位截圖

安裝庫:pillow(PIL 是 2.x 版本的,pillow 是 3.x 版本的)、pytesseract(須要修改配置)get

  代碼實現:(全屏 - 對於雙屏幕來講,只能截取主屏幕)

>>> from PIL import ImageGrab
>>> pic = ImageGrab.grab()
>>> pic.save('D:/tmp/4.jpg')

  代碼實現:(全屏 - 經過 PrintScreen,能夠實現兩個屏幕截圖,獲取剪切板的圖像)

from PIL import ImageGrab
# 能夠實現 printscreen 按鍵,獲取全屏截圖
pic = ImageGrab.grabclipboard()
pic.save(r"D:\tmp\save.jpg")

  代碼實現:(按照範圍截屏)

from PIL import ImageGrab
# 輸入屏幕左上角和右下角的座標
pic = ImageGrab.grab(bbox=(0, 0, 100, 100))
pic.save(r"D:\tmp\4.jpg")

  代碼實現:(按照範圍截屏,可是對於雙屏幕,須要經過 printscreen 獲取截圖,再按照座標點進行剪切)

from PIL import ImageGrab
# 經過 printscreen 獲取全屏截圖
pic = ImageGrab.grabclipboard()
pic_mini = pic.crop(box=(200,200,400,400))
pic_mini.save(r"D:\tmp\save_min.jpg")

 

2、圖片識別

安裝庫:pillow(PIL 是 2.x 版本的,pillow 是 3.x 版本的)、pytesseract(須要修改配置)

安裝軟件:tesseract-ocr

  代碼:中文(修改 lang 爲 eng,能夠用來識別英文)

from PIL import Image
import pytesseract
#上面都是導包,只須要下面這一行就能實現圖片文字識別,中文識別
text=pytesseract.image_to_string(Image.open('D:/tmp/1.jpg'),lang='chi_sim')
print(text)

  實現將截圖直接進行識別,不須要存儲~

from PIL import Image
import pytesseract
pic = ImageGrab.grab(bbox=(200,200,400,400))
text=pytesseract.image_to_string(pic, lang='chi_sim')
print(text)

 

3、獲取 RGB 值

參考:如何用Python PIL獲取圖片的RGB數值?

>>> from PIL import Image 
>>> lena = Image.open("D:\\Code\\Python\\test\\img\\lena.jpg") 
>>> lena_L =lena.convert("L") 
>>> lena_L_rgb =lena_L.convert("RGB") 
>>>lena.getpixel((0,0)) 
(197, 111, 78) 
>>>lena_L.getpixel((0,0)) 
132 
>>>lena_rgb.getpixel((0,0)) 
(132, 132, 132)
相關文章
相關標籤/搜索