簡體   English   中英

Python:檢測顏色然后單擊顏色

[英]Python : Detect Color Then Click Color

我正在嘗試進行屏幕截圖,檢查屏幕截圖是否有某種顏色,如果找到該顏色,則單擊它。

我遇到的問題是顏色的RGB值必須准確。

我想知道是否有可能將圖像轉換為顏色很少的圖像。

對不起,我很混亂。 我沒有經過適當的培訓。 我現在沉迷於編碼。

感謝您抽出時間來閱讀。

import os, sys
import Image, ImageGrab, ImageOps
import time, random
from random import randrange
import win32api, win32con
from numpy import *


# Globals
# ------------------

x_pad = 0
y_pad = 0


# Screen Grab Function
def screenGrab():
    b1 = (x_pad + 1,y_pad+1,x_pad+1921,y_pad+1081)
    im = ImageGrab.grab()
    ##im.save(os.getcwd() + '\\Snap__' + str(int(time.time())) +'.png', 'PNG')
    return im

## Grab Mouse Position
## MousePos = win32api.GetCursorPos()
## print MousePos

## Type in shell to grab RGB color
## im = screenGrab()
## im.getpixel(MousePos)

## Check Mouse Position for Black
## s = screenGrab()
## if s.getpixel(MousePos) <= (96, 96, 96):
    ##print "I see black."   

# Main 

x = 920
y = 465

# Color Check Then Stop/Click Loop

while True:

    s = screenGrab()
    s.convert("P", palette=Image.ADAPTIVE, colors=5)
    x = x + 10
    xy = (x, y)
    if s.getpixel(xy)== (255, 255, 255):
        break
    else:
        win32api.SetCursorPos((x, y))
        print x
        print y

        if x == 1250:
            x = 700
            y = y + 10
            if y == 985:
                break

我如何正確使用“ s.convert(“ P”,palette = Image.ADAPTIVE,colors = 5)”,以便將顏色范圍限制為(0,255,0)?

除了簡化顏色之外,為什么在查找顏色時也不給出RGB值范圍?

(range(200,220), range(200,220), range(200,220))

這可以解決更改所有像素的RGB值的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM