초보코딩 헉 그렇군요 ㅠㅠ 어제부터 계속 구글링 중인데 어렵네요,,, 전체화면 이미지파일을 실시간으로 받아오고, 특정 부분 이미지 파일을 찾아서 좌표로 반환하고 싶은데 쓸만한 라이브러리를 못 정하겠습니다 ㅠㅠ 혹시 아시는게 있을까요? 비활성창 캡처까진 구현했는데 이미지 비교, 좌표반환 에서 막혔네요 컥
선생님 영상 너무 잘보아서 날밤깟습니다;; 우선 선생님 영상보고 궁금한점에 생겻는데 선생님 다른영상 및 유툽 다른 코딩 영상 찾아보아도 제 눈에는 안보입니다ㅜㅜ 질문 : 본영상에서 토끼 이미지 6개를 마우스가 찾아갈수있도록 하는데 .토끼 이미지 6개 중 이미 한번 찾은 이미지는 다시 못찾아가게 하는 방법이 있을까요? 목적은 네이버 카페나 기타 특정 검색창에서 제가 찾는 단어의 게시글을 검색 및 작업완료 후 다시 같은단어로 재검색 해서 이미 작업완료한 글이 아닌 새로운 글에만 지속적인 작업을 하고 싶습니다. 방식은 이미지를 마우스 찾아가던, 크롬을 제어 해서 그f12로 작업하는걸로 하던 상관은 없는데 아무리 찾아바도 저의눈에는 왜 안보일까요?ㅜㅜ
파이썬으로 매크로 만들면서 궁금한게 모니터 해상도 라던지 색상의 미세한 차이라던지 다른 차이가 있는 다른 PC 환경에서는 매크로 프로그램을 만들어서 그 PC에서 실행해도 좌표 값이 달라지거나 rgb 값이 달라져서 결국 무용지물이더라구요 그럴때는 어떻게 해야 하는지도 영상 부탁드립니다 ㅠ
궁금한게 있습니다. 제가 지금 실습해보고 있는데, 더블모니터에서 문제가 발생합니다. 왼쪽 오른쪽 모니터가 있을때 오른쪽 모니터를 주 모니터로하고 왼쪽모니터의 x좌표값이 - 로 시작해서 그런지는 잘 모르겠습니다만 오른쪽모니터가 주 모니터이고 왼쪽모니터가 부 모니터일 때 왼쪽모니터의 t1, t2 값을 찍으니 스크린샷은 작동되지만 파일에 화면이 출력되지않고 지정한 사이즈의 까만색만 있는 find.png가 생성됩니다. 혹시 어떻게 해결할 수 있을지 아실까요? p.s 왼쪽모니터를 주 모니터로하면 오른쪽모니터( 부 모니터 ) 의 스크린샷이 또다시 까만색이 됩니다.
img_list = pag.LocateAllOnScreen(r"C:\Users\USER\Desktop\프로그래밍\발로란트 이미지 서칭\img/img.png", confidence=0.98) list(img_list) 이 구문에서 AttributeError: module 'pyautogui' has no attribute 'LocateAllOnScreen' 라는 에러가 나네요 ㅠㅜ
이미지 찾을영역을 필터링해야하는데 제가 실수로 빼먹었네요. 세번째는 타겟 이미지 영역의 너비, 네번째는 높이입니다. 찾을 영역을 필터링하려면 뽑은 좌표가 찾으려고 하는 영역 내에 있는지 if문을 구성하면 됩니다. ctr = pag.center(p) if ctr[0] >= f1[0] and ~~~~~: pag.moveTo(ctr) 이런식으로요.
안녕하세요 질문 좀 하나 드리려고합니다~ pag.screenshot("C:/test/test.png". region = region1) 이문구를 실행하면 SyntaxError: expression cannot contain assignment, perhaps you meant "=="? 이런 에러가 뜨는데 이유가 뭘까요..?
a라는 큰 이미지의 파트가 있고 b라는 파트에 총 8개로 구성되어 4개의 이미지를 찾아서 아래에 스크린에 맞는곳을 표시해주는 방법을 없을까요? a라는 파트에는 임의로 할때마다 바뀌는데 이미지는 총 4개가 있습니다. 그리고 a에 있는 이미지를 부분적으로 잘려진 표시가 b라는 파트에 총 8개의 이미지에서 해당하는 이미지는 4개가 있고 4개는 틀린 이미지입니다. 하지만 저는 맞는 이미지 4개를 찾아서 아래 소스에 붙여넣고 싶은데 하는방법이 무엇이 있을까요? ㅠㅠ while(True): screen = np.array(ImageGrab.grab(bbox=(x,y.w.h)))
제가 제대로 이해한 게 맞다면 a에는 하나의 이미지가 있고 그 이미지의 여러 부분(조각)이 b에 있는데 4개는 있는 이미지고 나머지 4개는 없는 이미지라는 것 같습니다. 그러면 b에 있는 총 8개의 이미지를 다 받아와서 각각의 이미지를 서치영역 내에서 찾아서 있는지 없는지 구분하면 될 것 같습니다.
p_list = pag.locateAllOnScreen(“파일위치.find.png”)는 잘 작동하는데 confidence넣으니까 오류나네요 혹시나 하고 pip install confidence 다음에 import confidence까지 해봤는데도 안되네요 어떻게 해야하나요?
import pyautogui,time import winsound as sd def beepsound(): fr = 2000 # range : 37 ~ 32767 du = 1000 # 1000 ms ==1second sd.Beep(fr, du) # winsound.Beep(frequency, duration) def findanything(): if pyautogui.locateOnScreen('aa.png',confidence=0.8): print("나타남") beepsound() else: print("없음") while 1: findanything() time.sleep(2) 2초에 한번씩 특정한 이미지가 있는지 찾고 찾는 이미지가 있다면 비프음을 출력하는 예제 코드인데요 리눅스에서 사용하려면 어떻게 해야하나요?
형 p_list = pag.locateAllOnScreen("D:/find.png", confidence = 0.95) #날짜 p_list = list(p_list) for p in p_list: print(pag.center(p)) pag.moveTo(pag.center(p)) pag.click(p) time.sleep(0.2) 이거 사용해서 예약하는매크로 만들려고하는데요 저 이미지를 찾지못하면 f5 1초마다 반복해서 누르게하고싶은데요 이럴땐 어떻게하죠?
감사합니다..지난번에 한번 문의드렸었는데 ㅋㅋ 👍
감사합니다 찾고있었던건데 설명도 잘해주셔서 이해가잘됐습니다감사합니다
알고 싶었던 것인데 강좌 해주셔서 정말 고맙습니다~~
도움이 됐으면 좋겠네요 ㅎㅎ
항상 감사합니다. 영상들 참고하면서 매우 도움이 되고있습니다!
감사합니다 ㅎㅎ💪
초보코딩 기회가 된다면 요 강의내용에서 추가로 비활성창에서 동작하는 강의도 해주시면 좋겠네요 ㅎㅎ
김덕배 비활성창에서 하는 것은 제가 실력이 부족해서 어려운 것 같습니다 ㅠㅠ 향후에 할 수 있게 된다면 만들어 올리도록 할게요 ㅎㅎ
초보코딩 헉 그렇군요 ㅠㅠ 어제부터 계속 구글링 중인데 어렵네요,,,
전체화면 이미지파일을 실시간으로 받아오고, 특정 부분 이미지 파일을 찾아서 좌표로 반환하고 싶은데 쓸만한 라이브러리를 못 정하겠습니다 ㅠㅠ 혹시 아시는게 있을까요?
비활성창 캡처까진 구현했는데 이미지 비교, 좌표반환 에서 막혔네요 컥
이미지끼리 비교하는것은 opencv를 쓰셔야할 것 같은데 저도 아직 공부가 부족한 분야라 설명 드리기가 어렵네요~
선생님 영상 너무 잘보아서 날밤깟습니다;; 우선 선생님 영상보고 궁금한점에 생겻는데 선생님 다른영상 및 유툽 다른 코딩 영상 찾아보아도 제 눈에는 안보입니다ㅜㅜ
질문 : 본영상에서 토끼 이미지 6개를 마우스가 찾아갈수있도록 하는데 .토끼 이미지 6개 중 이미 한번 찾은 이미지는 다시 못찾아가게 하는 방법이 있을까요? 목적은 네이버 카페나 기타 특정 검색창에서 제가 찾는 단어의 게시글을 검색 및 작업완료 후 다시 같은단어로 재검색 해서 이미 작업완료한 글이 아닌 새로운 글에만 지속적인 작업을 하고 싶습니다. 방식은 이미지를 마우스 찾아가던, 크롬을 제어 해서 그f12로 작업하는걸로 하던 상관은 없는데 아무리 찾아바도 저의눈에는 왜 안보일까요?ㅜㅜ
우선 한번 찾은 이미지는 제외하고자 한다면 각 위치를 변수에 저장해놨다가 그 주변 위치는 제외하도록 로직을 구성하면 될듯합니다. 다만 말끔하신 단어를 기준으로 작업을 원하신다면 이미지 기반이 아닌 셀레니움을 통해 하는것이 나을 듯 합니다.
@@chobocoding 감사합니다!!! 항상 응원하겠습니다
파이썬으로 매크로 만들면서 궁금한게 모니터 해상도 라던지 색상의 미세한 차이라던지 다른 차이가 있는
다른 PC 환경에서는 매크로 프로그램을 만들어서 그 PC에서 실행해도 좌표 값이 달라지거나 rgb 값이 달라져서 결국 무용지물이더라구요
그럴때는 어떻게 해야 하는지도 영상 부탁드립니다 ㅠ
사실 그럴때는 컴퓨터 환경마다 코드를 바꾸는 수 밖에 없을 것 같아요. 초보자 수준에서 코드를 완벽하게 만들어서 모든 상황에서 적용하는 것은 어렵겠죠. 상황에따라 쉽게 코드를 바꿀 수 있도록 여러 상황에 맞춰서 코드를 바꿔가며 익숙해지는 방법 밖엔 없는 것 같습니다~
너무 좋은 영상 잘봤습니다.
pag 라이브러리 키 입력이 안먹히는 게임이 있는데 이런 경우는 어떻게해야할까요?
저는 게임에 적용해본 적이 없어서 조언을 드리기가 어렵습니다 ~
항상 강의 잘 듣고 있습니다
한가지 에러 문의 드리면
pag.screenshot =
코드에 오타가 있는것 같은데 오류난 줄 코드가 어떻게 되시죠?
@@chobocoding 영상보고 똑같이 하긴했는데..
region1 = (t1[0]. t1[1]. t2[0]-t1[0]. t2[1]-t1[1]
입니다~
점이 아니라 쉼표로 하셔야 해요
@@chobocoding 아 넵!
궁금한게 있습니다. 제가 지금 실습해보고 있는데, 더블모니터에서 문제가 발생합니다. 왼쪽 오른쪽 모니터가 있을때 오른쪽 모니터를 주 모니터로하고 왼쪽모니터의 x좌표값이 - 로 시작해서 그런지는 잘 모르겠습니다만 오른쪽모니터가 주 모니터이고 왼쪽모니터가 부 모니터일 때 왼쪽모니터의 t1, t2 값을 찍으니 스크린샷은 작동되지만 파일에 화면이 출력되지않고 지정한 사이즈의 까만색만 있는 find.png가 생성됩니다. 혹시 어떻게 해결할 수 있을지 아실까요?
p.s 왼쪽모니터를 주 모니터로하면 오른쪽모니터( 부 모니터 ) 의 스크린샷이 또다시 까만색이 됩니다.
듀얼모니터로 하게되면 문제가 좀 발생하긴 합니다. 그래서 저는 이 알고리즘 쓸때 모니터 하나를 끄고 사용합니다.
원하는 이미지를 찾으면 디스코드에 연락할수있는것도 여기서 만드는건가요?
디스코드와 연동시키려면 좀 더 코드를 발전시켜야겠지만 가능은 할 것 같네요
img_list = pag.LocateAllOnScreen(r"C:\Users\USER\Desktop\프로그래밍\발로란트 이미지 서칭\img/img.png", confidence=0.98)
list(img_list)
이 구문에서
AttributeError: module 'pyautogui' has no attribute 'LocateAllOnScreen'
라는 에러가 나네요 ㅠㅜ
함수이름의 대소문자 구분을 하셔야 합니다~
how to click without window being active? so i can click it at backgroud?
Its impossible to click when the target is not shown in screen with this logic. I think you mean the state(window not shown), right?
@@chobocoding yes not shown, not minimized. its behind other window.
Oh I see. If image is not shown, we cant find the image.
Region에서 세번째 인자와 네번째 인자가 이미지를 찾을 영역 시작점과 끝점이라는거죠~? 찾을영역에 이미지가 계속 바뀔때도 이미지를 찾고 클릭이 될까요??
이미지 찾을영역을 필터링해야하는데 제가 실수로 빼먹었네요. 세번째는 타겟 이미지 영역의 너비, 네번째는 높이입니다. 찾을 영역을 필터링하려면 뽑은 좌표가 찾으려고 하는 영역 내에 있는지 if문을 구성하면 됩니다.
ctr = pag.center(p)
if ctr[0] >= f1[0] and ~~~~~:
pag.moveTo(ctr)
이런식으로요.
초보코딩 으 무슨말인지 모르겠습니다 헷갈리네요 ㅋㅋㅋㅋ 천천히 읽어보고 해보고 하겠습니다 감사합니다!!
네 일단 영상에 나오는 코드는 화면전체영역에서 이미지를 찾는 코드라고 이해하시면 됩니다.
빠진 부분을 보충해서 영상 만들었으니 확인해 보시면 될 것 같습니다. ㅎㅎ
ruclips.net/video/cbpAQJ3_JlY/видео.html
키보드 모듈에서 F4말고 다른키로도 해보고 싶은데 뭐라고 적으면 되나요? 예를들어 컨트롤이나 알트 스크롤락 등등.. 또 이런것들은 어디서 조회해야 하나요
구글에서 검색하시는게 좋을 것 같습니다. 저도 다 알고 있는게 아니라서요~
감사하게 봤습니다. 원본.png 파일과 targetting.png 파일의 구분 저장방법에 대하여 이해가 잘 않됩니다.?
안녕하세요! 혹시 네이버스토어에 있는 이미지를 사전에 인식해서 그 이미지의 제품이 등록되면 자동으로 클릭 할 수 있게 매크로 짜는게 가능할까요?
제 능력으로는 안 됩니다
안녕하세요 질문 좀 하나 드리려고합니다~
pag.screenshot("C:/test/test.png". region = region1) 이문구를 실행하면
SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
이런 에러가 뜨는데 이유가 뭘까요..?
png" 다음에 점이 아니라 콤마입니다
== 짝대기 2개 넣으니까 돼요!
a라는 큰 이미지의 파트가 있고 b라는 파트에 총 8개로 구성되어 4개의 이미지를 찾아서 아래에 스크린에 맞는곳을 표시해주는 방법을 없을까요?
a라는 파트에는 임의로 할때마다 바뀌는데 이미지는 총 4개가 있습니다. 그리고 a에 있는 이미지를 부분적으로 잘려진 표시가 b라는 파트에 총 8개의 이미지에서 해당하는 이미지는 4개가 있고 4개는 틀린 이미지입니다. 하지만 저는 맞는 이미지 4개를 찾아서 아래 소스에 붙여넣고 싶은데 하는방법이 무엇이 있을까요? ㅠㅠ
while(True):
screen = np.array(ImageGrab.grab(bbox=(x,y.w.h)))
제가 제대로 이해한 게 맞다면 a에는 하나의 이미지가 있고 그 이미지의 여러 부분(조각)이 b에 있는데 4개는 있는 이미지고 나머지 4개는 없는 이미지라는 것 같습니다. 그러면 b에 있는 총 8개의 이미지를 다 받아와서 각각의 이미지를 서치영역 내에서 찾아서 있는지 없는지 구분하면 될 것 같습니다.
p_list = pag.locateAllOnScreen(“파일위치.find.png”)는 잘 작동하는데 confidence넣으니까 오류나네요 혹시나 하고 pip install confidence 다음에 import confidence까지 해봤는데도 안되네요 어떻게 해야하나요?
confidence 기능을 사용하려면 opencv를 설치해야 합니다.
tariat.tistory.com/651
@@chobocoding 감사합니다!
import pyautogui,time
import winsound as sd
def beepsound():
fr = 2000 # range : 37 ~ 32767
du = 1000 # 1000 ms ==1second
sd.Beep(fr, du) # winsound.Beep(frequency, duration)
def findanything():
if pyautogui.locateOnScreen('aa.png',confidence=0.8):
print("나타남")
beepsound()
else:
print("없음")
while 1:
findanything()
time.sleep(2)
2초에 한번씩 특정한 이미지가 있는지 찾고 찾는 이미지가 있다면 비프음을 출력하는 예제 코드인데요
리눅스에서 사용하려면 어떻게 해야하나요?
import os
os.system("play -n synth 0.1 sine 880 vol 0.5")
비프음내는 리눅스 사용가능한 예제인데 어떻게 응용해야하나요?
blog.finxter.com/how-to-make-a-beep-sound-in-python-linux-macos-win/
참고해 보세요~
Locateallonscreen은 전체화면인데 그거말고 지정해준영역안에서 찾는명령어는 뭔가요? 처음에 p로 좌표지정해준곳이요.. 구글링하는데 안나오네요ㅠㅠ
ruclips.net/video/7HbhB7NuPnk/видео.html
링크된 영상을 참고바랍니다~
@@chobocoding 답변감사합니다. 영상봤는데 그런식으로 조건다는게 아닌, 선택한 좌표내에서만 이미지서치하는방법은 명령어가 따로없나요? 전체화면에서 서치하는데 0.3초?정도걸리는데 이 시간을 최대한 줄여보고싶어서요
따로없어서 저도 그런식으로 로직을 짠 것 같습니다~ 못 찾아서 그런걸 수도 있겠지만요.
@@chobocoding 넵 답변감사합니다!
선생님 매크로를 다 만들어서 하다가 창이 꺼져서 저장된걸 불러왔는데 NAMEERROR TRACEBACK 이런식으로 뜨는데 어뜨케 해야하는건가여..? 좌표를 다시 다 설정해줘야하는건가요?
네 다시 좌표를 설정해줘야 합니다
주피터 노트북에서 일부 단축키 실행(tab관련 도움말과 주석처리)이 안돼서 ctrl+shift를 눌러도 안되는데 방법이 있을까요?
잘 모르겠습니다 해당 현상에 구글에서 검색해보시는게 좋을 것 같네요.
혹시, 특정 영역 안의 이미지만 서치할 수 있는 방법이 있을까요??
만약 영역 밖의 같은 이미지가 있더라고 서치 할 수 없게요.
이 영상의 다음 영상을 참고해보시기 바랍니다.
정적인 이미지 말고 실시간으로 바뀌는 화면을 분석 하고 싶은데 관련 자료가 있을까요?
반복문을 통해서 로직을 계속 돌리면 변화하는 화면에 대해 로직을 사용하게 되는 겁니다
3d도 가능할까요? 🤔
3d라면 어떤 걸 말씀하시는걸까요?
3d 모델링된 사물을 다각도에서도 구분이 가능한지, 그리고 어떤 방법인지 궁금합니다.
이 로직을 억지로 끼워맞추면 가능은 하겠지만 이렇게 간편하게 하기는 어려울 것 같습니다~ 구체적으로 어떤 로직이 필요할지는 저도 안해봐서 잘 모르겠네요
이미지의 크기가 달라져도 인식되게 하려면 어떻게 해야할까요
다른 글에 답변드렸습니다.
import keyboard
했을 때 네임에러 뜨는데 이건 왜그런건가요??
pip install keyboard
를 실행해서 모듈 설치부터 해야 합니다
형
p_list = pag.locateAllOnScreen("D:/find.png", confidence = 0.95) #날짜
p_list = list(p_list)
for p in p_list:
print(pag.center(p))
pag.moveTo(pag.center(p))
pag.click(p)
time.sleep(0.2)
이거 사용해서 예약하는매크로 만들려고하는데요
저 이미지를 찾지못하면 f5 1초마다 반복해서 누르게하고싶은데요 이럴땐 어떻게하죠?
전체를 while문으로 구성해서 반복되도록 해야할 것 같고, 이미지가 있는 경우와 없는 경우를 구분하기 위해 p_list의 길이(리스트 안의 요소 개수)를 확인해서 0이면 새로고침, 0이 아니면 클릭하도록 하면 될것 같네요
@@chobocoding 행님 제가 진짜 초보라서그런데 p_list 길이 0인지 1인지 확인하는 코드 어떻게하는지 알려주십쇼
len(p_list)
가 p_list의 길이를 반환하는 코드입니다