Тёмный

Easy python image search algorithm for macro 

초보코딩
Подписаться 19 тыс.
Просмотров 26 тыс.
50% 1

Опубликовано:

 

26 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 82   
@냠냠-m5k7x
@냠냠-m5k7x 2 года назад
감사합니다 찾고있었던건데 설명도 잘해주셔서 이해가잘됐습니다감사합니다
@메카니즘
@메카니즘 4 года назад
감사합니다..지난번에 한번 문의드렸었는데 ㅋㅋ 👍
@mama-yf3yt
@mama-yf3yt 4 года назад
알고 싶었던 것인데 강좌 해주셔서 정말 고맙습니다~~
@chobocoding
@chobocoding 4 года назад
도움이 됐으면 좋겠네요 ㅎㅎ
@김덕배-u1z
@김덕배-u1z 4 года назад
항상 감사합니다. 영상들 참고하면서 매우 도움이 되고있습니다!
@chobocoding
@chobocoding 4 года назад
감사합니다 ㅎㅎ💪
@김덕배-u1z
@김덕배-u1z 4 года назад
초보코딩 기회가 된다면 요 강의내용에서 추가로 비활성창에서 동작하는 강의도 해주시면 좋겠네요 ㅎㅎ
@chobocoding
@chobocoding 4 года назад
김덕배 비활성창에서 하는 것은 제가 실력이 부족해서 어려운 것 같습니다 ㅠㅠ 향후에 할 수 있게 된다면 만들어 올리도록 할게요 ㅎㅎ
@김덕배-u1z
@김덕배-u1z 4 года назад
초보코딩 헉 그렇군요 ㅠㅠ 어제부터 계속 구글링 중인데 어렵네요,,, 전체화면 이미지파일을 실시간으로 받아오고, 특정 부분 이미지 파일을 찾아서 좌표로 반환하고 싶은데 쓸만한 라이브러리를 못 정하겠습니다 ㅠㅠ 혹시 아시는게 있을까요? 비활성창 캡처까진 구현했는데 이미지 비교, 좌표반환 에서 막혔네요 컥
@chobocoding
@chobocoding 4 года назад
이미지끼리 비교하는것은 opencv를 쓰셔야할 것 같은데 저도 아직 공부가 부족한 분야라 설명 드리기가 어렵네요~
@개평
@개평 2 года назад
선생님 영상 너무 잘보아서 날밤깟습니다;; 우선 선생님 영상보고 궁금한점에 생겻는데 선생님 다른영상 및 유툽 다른 코딩 영상 찾아보아도 제 눈에는 안보입니다ㅜㅜ 질문 : 본영상에서 토끼 이미지 6개를 마우스가 찾아갈수있도록 하는데 .토끼 이미지 6개 중 이미 한번 찾은 이미지는 다시 못찾아가게 하는 방법이 있을까요? 목적은 네이버 카페나 기타 특정 검색창에서 제가 찾는 단어의 게시글을 검색 및 작업완료 후 다시 같은단어로 재검색 해서 이미 작업완료한 글이 아닌 새로운 글에만 지속적인 작업을 하고 싶습니다. 방식은 이미지를 마우스 찾아가던, 크롬을 제어 해서 그f12로 작업하는걸로 하던 상관은 없는데 아무리 찾아바도 저의눈에는 왜 안보일까요?ㅜㅜ
@chobocoding
@chobocoding 2 года назад
우선 한번 찾은 이미지는 제외하고자 한다면 각 위치를 변수에 저장해놨다가 그 주변 위치는 제외하도록 로직을 구성하면 될듯합니다. 다만 말끔하신 단어를 기준으로 작업을 원하신다면 이미지 기반이 아닌 셀레니움을 통해 하는것이 나을 듯 합니다.
@개평
@개평 2 года назад
@@chobocoding 감사합니다!!! 항상 응원하겠습니다
@hansaebyeok
@hansaebyeok 3 года назад
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' 라는 에러가 나네요 ㅠㅜ
@chobocoding
@chobocoding 3 года назад
함수이름의 대소문자 구분을 하셔야 합니다~
@하만칸
@하만칸 3 года назад
파이썬으로 매크로 만들면서 궁금한게 모니터 해상도 라던지 색상의 미세한 차이라던지 다른 차이가 있는 다른 PC 환경에서는 매크로 프로그램을 만들어서 그 PC에서 실행해도 좌표 값이 달라지거나 rgb 값이 달라져서 결국 무용지물이더라구요 그럴때는 어떻게 해야 하는지도 영상 부탁드립니다 ㅠ
@chobocoding
@chobocoding 3 года назад
사실 그럴때는 컴퓨터 환경마다 코드를 바꾸는 수 밖에 없을 것 같아요. 초보자 수준에서 코드를 완벽하게 만들어서 모든 상황에서 적용하는 것은 어렵겠죠. 상황에따라 쉽게 코드를 바꿀 수 있도록 여러 상황에 맞춰서 코드를 바꿔가며 익숙해지는 방법 밖엔 없는 것 같습니다~
@dahoonkang4563
@dahoonkang4563 4 года назад
궁금한게 있습니다. 제가 지금 실습해보고 있는데, 더블모니터에서 문제가 발생합니다. 왼쪽 오른쪽 모니터가 있을때 오른쪽 모니터를 주 모니터로하고 왼쪽모니터의 x좌표값이 - 로 시작해서 그런지는 잘 모르겠습니다만 오른쪽모니터가 주 모니터이고 왼쪽모니터가 부 모니터일 때 왼쪽모니터의 t1, t2 값을 찍으니 스크린샷은 작동되지만 파일에 화면이 출력되지않고 지정한 사이즈의 까만색만 있는 find.png가 생성됩니다. 혹시 어떻게 해결할 수 있을지 아실까요? p.s 왼쪽모니터를 주 모니터로하면 오른쪽모니터( 부 모니터 ) 의 스크린샷이 또다시 까만색이 됩니다.
@chobocoding
@chobocoding 4 года назад
듀얼모니터로 하게되면 문제가 좀 발생하긴 합니다. 그래서 저는 이 알고리즘 쓸때 모니터 하나를 끄고 사용합니다.
@TV-vp8ze
@TV-vp8ze Год назад
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초에 한번씩 특정한 이미지가 있는지 찾고 찾는 이미지가 있다면 비프음을 출력하는 예제 코드인데요 리눅스에서 사용하려면 어떻게 해야하나요?
@TV-vp8ze
@TV-vp8ze Год назад
import os os.system("play -n synth 0.1 sine 880 vol 0.5") 비프음내는 리눅스 사용가능한 예제인데 어떻게 응용해야하나요?
@chobocoding
@chobocoding Год назад
blog.finxter.com/how-to-make-a-beep-sound-in-python-linux-macos-win/ 참고해 보세요~
@양성아-q2x
@양성아-q2x 3 года назад
항상 강의 잘 듣고 있습니다 한가지 에러 문의 드리면 pag.screenshot =
@chobocoding
@chobocoding 3 года назад
코드에 오타가 있는것 같은데 오류난 줄 코드가 어떻게 되시죠?
@양성아-q2x
@양성아-q2x 3 года назад
@@chobocoding 영상보고 똑같이 하긴했는데.. region1 = (t1[0]. t1[1]. t2[0]-t1[0]. t2[1]-t1[1] 입니다~
@chobocoding
@chobocoding 3 года назад
점이 아니라 쉼표로 하셔야 해요
@양성아-q2x
@양성아-q2x 3 года назад
@@chobocoding 아 넵!
@bluemoon_223
@bluemoon_223 2 года назад
p_list = pag.locateAllOnScreen(“파일위치.find.png”)는 잘 작동하는데 confidence넣으니까 오류나네요 혹시나 하고 pip install confidence 다음에 import confidence까지 해봤는데도 안되네요 어떻게 해야하나요?
@chobocoding
@chobocoding 2 года назад
confidence 기능을 사용하려면 opencv를 설치해야 합니다. tariat.tistory.com/651
@bluemoon_223
@bluemoon_223 2 года назад
@@chobocoding 감사합니다!
@이황상-u5g
@이황상-u5g 5 месяцев назад
감사하게 봤습니다. 원본.png 파일과 targetting.png 파일의 구분 저장방법에 대하여 이해가 잘 않됩니다.?
@user-zs5tb9er6c
@user-zs5tb9er6c 3 года назад
원하는 이미지를 찾으면 디스코드에 연락할수있는것도 여기서 만드는건가요?
@chobocoding
@chobocoding 3 года назад
디스코드와 연동시키려면 좀 더 코드를 발전시켜야겠지만 가능은 할 것 같네요
@Heo2mo
@Heo2mo 4 года назад
너무 좋은 영상 잘봤습니다. pag 라이브러리 키 입력이 안먹히는 게임이 있는데 이런 경우는 어떻게해야할까요?
@chobocoding
@chobocoding 4 года назад
저는 게임에 적용해본 적이 없어서 조언을 드리기가 어렵습니다 ~
@karewangja
@karewangja 3 года назад
안녕하세요! 혹시 네이버스토어에 있는 이미지를 사전에 인식해서 그 이미지의 제품이 등록되면 자동으로 클릭 할 수 있게 매크로 짜는게 가능할까요?
@chobocoding
@chobocoding 3 года назад
제 능력으로는 안 됩니다
@amigaringo1672
@amigaringo1672 4 года назад
키보드 모듈에서 F4말고 다른키로도 해보고 싶은데 뭐라고 적으면 되나요? 예를들어 컨트롤이나 알트 스크롤락 등등.. 또 이런것들은 어디서 조회해야 하나요
@chobocoding
@chobocoding 4 года назад
구글에서 검색하시는게 좋을 것 같습니다. 저도 다 알고 있는게 아니라서요~
@imie143
@imie143 4 года назад
a라는 큰 이미지의 파트가 있고 b라는 파트에 총 8개로 구성되어 4개의 이미지를 찾아서 아래에 스크린에 맞는곳을 표시해주는 방법을 없을까요? a라는 파트에는 임의로 할때마다 바뀌는데 이미지는 총 4개가 있습니다. 그리고 a에 있는 이미지를 부분적으로 잘려진 표시가 b라는 파트에 총 8개의 이미지에서 해당하는 이미지는 4개가 있고 4개는 틀린 이미지입니다. 하지만 저는 맞는 이미지 4개를 찾아서 아래 소스에 붙여넣고 싶은데 하는방법이 무엇이 있을까요? ㅠㅠ while(True): screen = np.array(ImageGrab.grab(bbox=(x,y.w.h)))
@chobocoding
@chobocoding 4 года назад
제가 제대로 이해한 게 맞다면 a에는 하나의 이미지가 있고 그 이미지의 여러 부분(조각)이 b에 있는데 4개는 있는 이미지고 나머지 4개는 없는 이미지라는 것 같습니다. 그러면 b에 있는 총 8개의 이미지를 다 받아와서 각각의 이미지를 서치영역 내에서 찾아서 있는지 없는지 구분하면 될 것 같습니다.
@츄현-j8v
@츄현-j8v 3 года назад
선생님 매크로를 다 만들어서 하다가 창이 꺼져서 저장된걸 불러왔는데 NAMEERROR TRACEBACK 이런식으로 뜨는데 어뜨케 해야하는건가여..? 좌표를 다시 다 설정해줘야하는건가요?
@chobocoding
@chobocoding 3 года назад
네 다시 좌표를 설정해줘야 합니다
@qryafhaf
@qryafhaf 3 года назад
Locateallonscreen은 전체화면인데 그거말고 지정해준영역안에서 찾는명령어는 뭔가요? 처음에 p로 좌표지정해준곳이요.. 구글링하는데 안나오네요ㅠㅠ
@chobocoding
@chobocoding 3 года назад
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-7HbhB7NuPnk.html 링크된 영상을 참고바랍니다~
@qryafhaf
@qryafhaf 3 года назад
@@chobocoding 답변감사합니다. 영상봤는데 그런식으로 조건다는게 아닌, 선택한 좌표내에서만 이미지서치하는방법은 명령어가 따로없나요? 전체화면에서 서치하는데 0.3초?정도걸리는데 이 시간을 최대한 줄여보고싶어서요
@chobocoding
@chobocoding 3 года назад
따로없어서 저도 그런식으로 로직을 짠 것 같습니다~ 못 찾아서 그런걸 수도 있겠지만요.
@qryafhaf
@qryafhaf 3 года назад
@@chobocoding 넵 답변감사합니다!
@양성아-q2x
@양성아-q2x 3 года назад
안녕하세요 질문 좀 하나 드리려고합니다~ pag.screenshot("C:/test/test.png". region = region1) 이문구를 실행하면 SyntaxError: expression cannot contain assignment, perhaps you meant "=="? 이런 에러가 뜨는데 이유가 뭘까요..?
@chobocoding
@chobocoding 3 года назад
png" 다음에 점이 아니라 콤마입니다
@피치엔
@피치엔 3 года назад
== 짝대기 2개 넣으니까 돼요!
@soolimsong4591
@soolimsong4591 3 года назад
주피터 노트북에서 일부 단축키 실행(tab관련 도움말과 주석처리)이 안돼서 ctrl+shift를 눌러도 안되는데 방법이 있을까요?
@chobocoding
@chobocoding 3 года назад
잘 모르겠습니다 해당 현상에 구글에서 검색해보시는게 좋을 것 같네요.
@bbyabbbbyabb
@bbyabbbbyabb 4 года назад
Region에서 세번째 인자와 네번째 인자가 이미지를 찾을 영역 시작점과 끝점이라는거죠~? 찾을영역에 이미지가 계속 바뀔때도 이미지를 찾고 클릭이 될까요??
@chobocoding
@chobocoding 4 года назад
이미지 찾을영역을 필터링해야하는데 제가 실수로 빼먹었네요. 세번째는 타겟 이미지 영역의 너비, 네번째는 높이입니다. 찾을 영역을 필터링하려면 뽑은 좌표가 찾으려고 하는 영역 내에 있는지 if문을 구성하면 됩니다. ctr = pag.center(p) if ctr[0] >= f1[0] and ~~~~~: pag.moveTo(ctr) 이런식으로요.
@bbyabbbbyabb
@bbyabbbbyabb 4 года назад
초보코딩 으 무슨말인지 모르겠습니다 헷갈리네요 ㅋㅋㅋㅋ 천천히 읽어보고 해보고 하겠습니다 감사합니다!!
@chobocoding
@chobocoding 4 года назад
네 일단 영상에 나오는 코드는 화면전체영역에서 이미지를 찾는 코드라고 이해하시면 됩니다.
@chobocoding
@chobocoding 4 года назад
빠진 부분을 보충해서 영상 만들었으니 확인해 보시면 될 것 같습니다. ㅎㅎ ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-cbpAQJ3_JlY.html
@_house6662
@_house6662 3 года назад
혹시, 특정 영역 안의 이미지만 서치할 수 있는 방법이 있을까요?? 만약 영역 밖의 같은 이미지가 있더라고 서치 할 수 없게요.
@chobocoding
@chobocoding 3 года назад
이 영상의 다음 영상을 참고해보시기 바랍니다.
@연-p8u
@연-p8u 2 года назад
정적인 이미지 말고 실시간으로 바뀌는 화면을 분석 하고 싶은데 관련 자료가 있을까요?
@chobocoding
@chobocoding 2 года назад
반복문을 통해서 로직을 계속 돌리면 변화하는 화면에 대해 로직을 사용하게 되는 겁니다
@falsemessiah5515
@falsemessiah5515 3 года назад
how to click without window being active? so i can click it at backgroud?
@chobocoding
@chobocoding 3 года назад
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?
@falsemessiah5515
@falsemessiah5515 3 года назад
@@chobocoding yes not shown, not minimized. its behind other window.
@chobocoding
@chobocoding 3 года назад
Oh I see. If image is not shown, we cant find the image.
@슈퍼맨-z4e
@슈퍼맨-z4e 3 года назад
import keyboard 했을 때 네임에러 뜨는데 이건 왜그런건가요??
@chobocoding
@chobocoding 3 года назад
pip install keyboard 를 실행해서 모듈 설치부터 해야 합니다
@만물상1번지
@만물상1번지 3 года назад
이미지의 크기가 달라져도 인식되게 하려면 어떻게 해야할까요
@chobocoding
@chobocoding 3 года назад
다른 글에 답변드렸습니다.
@옵저버-r9j
@옵저버-r9j 3 года назад
3d도 가능할까요? 🤔
@chobocoding
@chobocoding 3 года назад
3d라면 어떤 걸 말씀하시는걸까요?
@옵저버-r9j
@옵저버-r9j 3 года назад
3d 모델링된 사물을 다각도에서도 구분이 가능한지, 그리고 어떤 방법인지 궁금합니다.
@chobocoding
@chobocoding 3 года назад
이 로직을 억지로 끼워맞추면 가능은 하겠지만 이렇게 간편하게 하기는 어려울 것 같습니다~ 구체적으로 어떤 로직이 필요할지는 저도 안해봐서 잘 모르겠네요
@xnudge6338
@xnudge6338 3 года назад
형 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초마다 반복해서 누르게하고싶은데요 이럴땐 어떻게하죠?
@chobocoding
@chobocoding 3 года назад
전체를 while문으로 구성해서 반복되도록 해야할 것 같고, 이미지가 있는 경우와 없는 경우를 구분하기 위해 p_list의 길이(리스트 안의 요소 개수)를 확인해서 0이면 새로고침, 0이 아니면 클릭하도록 하면 될것 같네요
@xnudge6338
@xnudge6338 3 года назад
@@chobocoding 행님 제가 진짜 초보라서그런데 p_list 길이 0인지 1인지 확인하는 코드 어떻게하는지 알려주십쇼
@chobocoding
@chobocoding 3 года назад
len(p_list) 가 p_list의 길이를 반환하는 코드입니다
Далее
진 (Jin) 'I'll Be There' Official MV
03:15
Просмотров 8 млн
(subtitle) Is there "Physics Engine" for python?
18:32
Creating an ultra-simple aimbot (Python pyautogui)
11:49
why are switch statements so HECKIN fast?
11:03
Просмотров 422 тыс.
[Python macro lecture] 6. Web site macro with selenium
24:21