답변
공식적으로 OpenCV는 cv
과 cv2
의 두 가지 유형의 Python 인터페이스를 출시합니다.
CV :
나는 cv
작업을 시작했다. 이 모든 OpenCV 데이터 형식은 그대로 보존됩니다. 예를 들어로드 된 이미지의 형식은 cvMat
이며 C++에서와 동일합니다.
배열 작업의 경우 cvSet2D
, cvGet2D
등과 같은 몇 가지 기능이 있습니다. 일부 토론에서는 속도가 느립니다.
imageROI의 경우 cvSetImageROI
과 같은 특수 기능이 필요합니다.
윤곽선을 발견하면 cvSeq
구조체가 반환되며 이는 Python 목록 또는 NumPy 배열과 비교하여 작동하지 않습니다.
(그리고 최신 릴리스에서 만 cv2
모듈이 있습니다, 지금. 나중에, OpenCV의이 cv
와 cv2
모두와 함께. 이전 만 cv
있었다. 곧 개발이 중지됩니다, 생각하고, cv
.. cv2
내부의 서브 클래스) 당신은 그것을 액세스 할 수 import cv2.cv as cv
를 호출 할 필요가있다
CV2 :
그리고 최신 하나 cv2
입니다. 이 모든 것은 lists
, tuples
, dictionary
등과 같이 ndarray
및 native Python
과 같은 객체 인 NumPy
개체로 반환됩니다. 따라서이 NumPy 지원으로 인해 여기에서 아무런 작업도 수행 할 수 없습니다. NumPy
은 매우 안정적이고 빠른 배열 처리 라이브러리입니다.
예를 들어, 이미지를로드하면 ndarray
이 반환됩니다.
array[i,j]
은 (i, j) 위치의 픽셀 값을 제공합니다.
또한 imageROI의 경우 배열 자르기는 ROI=array[c1:c2,r1:r2]
과 같이 사용할 수 있습니다. 별도의 기능이 필요 없습니다.
두 이미지를 추가하려면 아무 기능도 호출 할 필요가 없습니다. 단지 res = img1+img2
입니다. (그러나 NumPy 추가는 이미지와 같은 uint8 배열의 모듈러스 연산입니다. 자세한 내용은 Difference between Matrix Arithmetic in OpenCV and Numpy 문서를 참조하십시오.
반환되는 윤곽선은 Numpy 배열의 목록입니다. Contours에 대한 자세한 내용은 Contours - 1 : Getting Started입니다.
요약하면 cv2를 사용하면 모든 것이 단순하고 빠릅니다.
cv2
속도를 NumPy와 방법에 대한 간단한 논의는 스택 오버플로 질문 Performance comparison of OpenCV-Python interfaces, cv and cv2입니다.
pyopencv : 나는 그것을 사용하지 않은 이후
나는 이것에 대해 잘 모른다. 그러나 그것은 더 발전을 멈추는 것처럼 보인다.
공식 라이브러리에 충실하는 것이 더 좋을 것이라고 생각합니다.
요약하면 cv2를 사용하는 것이 좋습니다.
편집 : 당신은 Install OpenCV in Windows for Python에 cv2
모듈 설치 절차를 볼 수 있습니다.
- 1. 추상 클래스와 인터페이스의 차이점은 무엇입니까?
- 2. 어댑터와 네트워크 인터페이스의 차이점은 무엇입니까?
- 3. OpenCV C++ 인터페이스의 cvAvg와 같습니다.
- 4. 이 코드의 차이점은 무엇입니까?
- 5. 이 함수들의 차이점은 무엇입니까?
- 6. 이 기능들의 차이점은 무엇입니까?
- 7. OpenCV, OpenFramework 및 Processing Frameworks의 차이점은 무엇입니까?
- 8. Python OpenCV Box2D
- 9. cvClose in Python/OpenCV?
- 10. Python : Urllib2 및 OpenCV
- 11. Python IO 전문가 :이 두 방법의 차이점은 무엇입니까?
- 12. Python virtualenv에서 OpenCV 실행
- 13. Python : OpenCV 함수 cvHaarDetectObjects가 반환하는 것은 무엇입니까?
- 14. OpenCV, OpponentColorDescriptorExtractor 및 Python
- 15. Python OpenCV 추적 점
- 16. OpenCV Python HoughCircles 오류
- 17. Python 앱으로 OpenCV 패키지하기
- 18. Python OpenCV Threading
- 19. Java에서 이러한 키워드가없는 일반 인터페이스와 정적 인터페이스의 차이점은 무엇입니까?
- 20. 이 두 줄의 차이점은 무엇입니까?
- 21. 이 두 typedef의 차이점은 무엇입니까?
- 22. 이 두 메소드의 차이점은 무엇입니까
- 23. 이 두 명령의 차이점은 무엇입니까?
- 24. 이 초기화 방법의 차이점은 무엇입니까?
- 25. 이 두 생성자의 차이점은 무엇입니까?
- 26. 이 두 코드의 차이점은 무엇입니까?
- 27. 이 두 선언의 차이점은 무엇입니까?
- 28. 이 두 문장의 차이점은 무엇입니까?
- 29. SQL -이 조인의 차이점은 무엇입니까?
- 30. 이 두 조건의 차이점은 무엇입니까?
cv2에 대한 링크가 있습니까? – Framester
cv2 소스에서 OpenCV를 빌드하는 경우 Python 인터페이스가 컴파일되고 설치됩니다. Linux 또는 다른 OS 용 바이너리 패키지를 사용하는 경우 OS/배포 설명서를 참조하십시오. 도움을 받으려면 http://goo.gl/MUjXi를 참조하십시오. –
@Framester :이 링크의 cv2 설치 절차를 참조하십시오. http://opencvpython.blogspot.in/2012/05/install-opencv-in-windows-for-python.html –