2012-04-03 3 views
1

Sikuli에서 Hough Transform 및 Corner Detection과 같은 OpenCV 함수를 사용하고 싶습니다.Sikuli에서 Python OpenCV 함수를 사용하는 방법

나는 Sikuli에서 CPython을위한 OpenCV 설치 지침을 시험해 보았습니다.

나는 Sikuli가 Jython이고 이것이 일을하는 것이 어려운 방법 일 수 있음을 알고 있습니다. 더 쉬운 대안은 무엇입니까?

나는 아직도 쓰는 코드가 작동하기 때문에 Sikuli & Python을 사용하고 싶습니다. 하지만 아마도 나는 Sikuli의 한계에 부딪 칠 것입니다.

+0

실제 문제가 Sikuli 내에서 일치하는 지역의 한계와 관련이있는 경우 실제 문제를 설명하기 위해 질문을 다시 표현할 수 있습니다. OpenCV를 통합하려는 시도는 잠재적으로 과도 할 수 있습니다. 또 하나의 충고는 이미지 매칭 코드가 지난 몇 가지 릴리스에서 강건성과 성능면에서 엄청나게 향상 되었기 때문에 Sikuli의 최신 버전을 사용하고 있는지 확인하는 것입니다. –

답변

4

Sikuli 대신 Automa을 사용할 수 있습니다. 이것은 순수 파이썬 라이브러리이므로 다른 파이썬 라이브러리도 사용할 수 있습니다. 이미지 검색 알고리즘은 fully compatible with Sikuli입니다. 실제로 OpenCV의 Python 바인딩 자체를 사용하므로 함께 제공됩니다.

면책 조항 : 나는 Automa의 개발자 중 한 명입니다.

2

일반적으로 말하기 : C 기반 코드 (Python OpenCV의 경우)를 포함하는 Python 모듈은 Sikuli Script (Jython)에서 사용할 수 없습니다.

Sikuli에서 일부 OpenCV 기능의 통합은 Java-To-C 인터페이스 (JNI)를 사용하여 실현되며 OpenCV 기능 자체는 C++로 코딩됩니다.

Sikuli에서 지원하지 않는 OpenCV 기능을 사용하려면 위에서 언급 한 JNI 접근 방식을 사용하거나 Java implementation of OpenCV (javacv)을 사용해야합니다. Java stuff는 Jython 스크립트에서 원활하게 사용할 수 있습니다.

또 다른 옵션은 Python/OpenCV를 사용하여 일반 Python 스크립트에 추가 작업을 구현하고 이러한 스크립트를 하위 프로세스의 C-Python 인터프리터를 통해 호출하는 것입니다.