자동화

조회 수 4392 추천 0 댓글 4

제가 지금 pyautogui 로 이미지를 인식하고있는데


서칭하는데 대략 1 ~ 2 초 걸리더라고요 


서칭시간을 줄이는법이 따로있을까요 ?


없다면 


openCV는 이미지 서칭할떄 빠르게 잡히나요 ?


아니면 


파이썬으로는 이미지 인식 걍 노답인가요 ?


C# 으로 만들어야할까요 ?


도와주세요 선생님 


  • profile
    소심비형 2019.08.13 07:38

    속도 문제라면... 네이티브 언어로 하시는게 좋아 보입니다. C언어를 이용하는게 가장 빠르고요. 그담에 C#으로 픽셀 오브젝트가 아닌 포인터를 이용해서 C언어만큼 속도를 낼 수 있습니다. lockbit로 검색해보시면 예제가 많습니다. 참고로 아래 링크에 설명이 잘 되어 있어요.

    ###  링크를 넣을수가 없군요^^; 구글에서 검색해보면 많은 자료가 나옵니다... ###


    OpenCV도 내부적으로는 lockbit를 이용해서 포인터로 메모리 주소 참조하는걸로 알고 있는데요. 아마도... 이미지 서치한 다음에 후처리 부분에서 다시 오브젝트 방식으로 접근하는게 아닌가싶네요. 여러가지 테스트 해봤는데 일단 C가 가장 속도가 빠릅니다. 그다음에 C#이나 파이썬 같은 언어로 네이티브로 코드를 짜는게 좋고 OpenCV를 네이티브로 이용해도 비슷한 효과를 속도가 나옵니다. 아래 코드처럼 

            private static int[][] GetPixelArray(Bitmap bitmap)

            {

                var result = new int[bitmap.Height][];

                var bitmapData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);


                for (int y = 0; y < bitmap.Height; ++y)

                {

                    result[y] = new int[bitmap.Width];

                    Marshal.Copy(bitmapData.Scan0 + y * bitmapData.Stride, result[y], 0, result[y].Length);

                }


                bitmap.UnlockBits(bitmapData);

                return result;

            }


    반환 값은 바이트 주소를 나타내는 포인터입니다. 편하게 코딩하려면 픽셀 2중 포문(폭, 높이)으로 처리하는게 쉽긴합니-_-;

  • profile
    소심비형 2019.08.13 08:05
    참고로 파이오토지유아이 관련 유튭 강좌 있던데요. 한번 봐보세요~
  • 현질하다털림 2019.08.13 17:05
    아이고 선생님 매번 감사합니다 ㅜ
    정말 선생님덕분에 많을 걸 배웁니다

    매우 감사합니다 ㅜ

    결과적으로 pyautogui이미지 서칭속도 줄이는법은 없고

    C# or 파이썬으로 openCV를 사용하시라는 말씀이네요
  • ak47! 2019.09.04 02:12

    opencv사용하면 속도 괜찮아요


List of Articles
분류 제목 글쓴이 최근변경 추천
자유 프로그래밍 게시판 소개 피카부 2023.04.01 0/0
질문 크랙 가능하신분 2 이끼123 2019.09.29 0/0
질문 c# 키보드 후킹 문제 현질하다털림 2019.09.22 0/0
질문 c# imageSearch dll ( 오토핫키) 이미지인식 2 현질하다털림 2019.09.23 0/0
질문 C# 에서 오토핫키 ImageSearch.dll 적용시키는법 2 현질하다털림 2019.09.19 0/0
질문 C# 게임프로그램 핸들인식 현질하다털림 2019.09.19 0/0
질문 c# spy++ 핸들값 캡션값 찾기 현질하다털림 2019.09.18 0/0
질문 c# sendMessage 질문 !! ( 좌클릭 신호 안됨) 읽어주... 현질하다털림 2019.09.17 0/0
질문 C# 이미지 서칭 종류 2가지 5 현질하다털림 2019.09.09 0/0
질문 c# 비활성 마우스 클릭 함수가 무엇인지 궁금합니다.. 2 양무신 2019.09.06 0/0
질문 C# 으로 매크로만들어보기 11 현질하다털림 2019.09.05 0/0
질문 돌키우기 파이썬 자료 있으신분 ! 1 always 2023.11.30 0/0
질문 c# 비활성 키보드 질문 2 양무신 2019.08.31 0/0
질문 블루스택3 어플리케이션 실행 방법있나요? tasi12 2019.08.16 0/0
질문 파이썬 openCV 명령어 이미지인식 1 현질하다털림 2019.09.04 0/0
질문 파이썬 while문 키입력으로 빠져나오기 5 현질하다털림 2019.08.14 0/0
질문 메이플 파이썬 2 widsh 2019.08.14 0/0
질문 파이썬 openCV vs pyautogui 이미지 인식 4 현질하다털림 2023.05.29 0/0
질문 파이썬 if문 조건절에서 None에 반대 2 현질하다털림 2019.08.12 0/0
질문 파이썬으로 매크로같은거 만드는 중인데 3 현질하다털림 2019.12.04 0/0
질문 파이썬 매크로 게임마다 인식이 되고 안되고 8 현질하다털림 2019.08.10 0/0
Board Pagination Prev 1 ... 345678910 11 Next
/ 11

전체 최신 인기글

전체 주간 인기글