ImageGrab에서 검은 색 픽셀의 위치 찾기

Vigus Widdicombe-Gasson

저는 현재 ImageGrab에서 모든 검은 색 픽셀을 찾아야하는 PianoTiles AI를 만들고 있습니다. 나는 Image Grab의 모든 위치를 얻었지만 거기에 검은 색 픽셀이 있는지, 그렇다면 그들이 어디에 있는지 알아 내야 AI가 클릭 할 수 있습니다. Bellow 내 코드를 잘라 냈습니다.

나는 이미 웹을 둘러 봤지만 아무것도 찾을 수 없습니다. 나는 코드가 이와 같은 것이라고 생각합니다.

from PIL import ImageGrab, ImageOps    

class Coordinates:    
    lines = [    
    (520, 300, 525, 760),    
    (630, 300, 635, 760),    
    (740, 300, 745, 760),    
    (850, 300, 855, 760)]    
    restartcheck = (660, 590, 725, 645)    
    restartbtn = (695, 615)    


blackpixelpositions = []    

def findtiles():    
    for line in Coordinates.lines:  
        i = ImageGrab.grab(line)  
        for pixel in i.getdata():  
            #if pixel is black  
            # x, y = pixel position  
             blackpixelpositions.append((x,y))  

필요한 것은 위의 코드를 사용하여 검은 색 픽셀 위치를 제공하는 것뿐입니다.

마크 세첼

특히 최신 4-5k 화면을 캡처하는 경우 큰 이미지의 경우 매우 느리기getpixel() 때문에 이미지를 반복하고 각 픽셀에 액세스하는 것과 같은 기능을 사용하지 않도록해야합니다 .

일반적으로 PIL 이미지를 Numpy 배열로 변환 한 다음 벡터화 된 Numpy 루틴을 사용하여 이미지를 처리하는 것이 좋습니다. 따라서 구체적으로 화면을 잡거나 파일을 열어 PIL 이미지를 얻는다고 가정 해 보겠습니다.

im = Image.open('someFile.png')

그런 다음 다음과 같이 이미지에서 Numpy 배열을 만들 수 있습니다.

n = np.array(im)

다음과 같은 검은 색 픽셀을 검색합니다.

blacks = np.where((n[:, :, 0:3] == [0,0,0]).all(2)))

그러면 x좌표 배열과 y검은 색 픽셀 좌표 배열이 제공됩니다 . 예를 들면 다음과 같습니다.

xcoords, ycoords = np.where((n[:, :, 0:3] == [0,0,0]).all(2))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

MATLAB에서 검은 색 픽셀 위치 찾기

맨 오른쪽에있는 검은 색 픽셀의 위치를 찾는 방법

이미지에서 검은 색 픽셀의 무작위 위치 지정

하단 이미지에서 최대 검은색 픽셀 수의 최소 평면을 찾습니다. 상단 이미지의 검은색 픽셀 피크 찾기

이미지에서 연속 된 검은 색 픽셀 찾기

Selenium-XY 위치에서 캔버스의 픽셀 색상을 찾는 방법은 무엇입니까?

파이썬에서 검은색 픽셀이 있는 이미지 주위의 그리기 상자

파이썬을 사용하여 이미지에서 검은 색 / 회색 픽셀의 모든 좌표 찾기

주어진 픽셀 위치에 가장 가까운 흰색 픽셀 찾기 openCV

Python: 이미지의 검은색 픽셀 수 찾기

다른 이미지의 검은 색 픽셀에 이미지 배치

화면에서 특정 색상의 픽셀을 찾기위한 Windows 유틸리티 찾기

밝기에 따라 흰색 및 검은 색 픽셀 설정

파이썬의 이미지에서 픽셀 값을 검색하기 위해 'for 루프'속도를 높이는 방법은 무엇입니까?

이미지에서 빨간색 픽셀의 좌표 찾기

48비트 비트맵의 회색 픽셀에 대한 예기치 않은 RGB 채널 값

VBA에서 복사 된 셀 범위의 위치 검색

동일한 크기의 이미지를 픽셀 단위로 비교하여 모든 픽셀에 대해 가장 일반적인 색상을 찾습니다.

두 개의 3열 numpy 배열을 검색하고 Python에서 기준을 충족하는 위치 찾기

캔버스 픽셀을 통해 실행하고 모든 흰색 픽셀의 x, y, 위치를 찾습니다.

이미지에서 선 위의 픽셀 좌표 찾기

ImageGrab이 픽셀 색상을 가져 오는 위치 설정

Matplotlib 탐색 도구 모음 Python에서 픽셀 위치만 표시하고 픽셀 값 숨기기

입력 위치 및 주변 위치에서 매장 찾기 및 검색된 위치로부터의 거리 계산

mvc5의 셀에서 단어를 찾기 위해 검색 기능을 가져 오는 문제

PNG 파일에서 픽셀의 X/Y 위치 가져오기

마우스 위치의 이미지에서 픽셀 값 얻기

RichtextCtrl의 픽셀에서 캐럿 위치 가져 오기

Excel에서 배열 또는 검색 가능 영역의 "찾기"결과 또는 셀 위치를 출력하는 방법

TOP 리스트

뜨겁다태그

보관