답변:
프로그래밍 언어뿐만 아니라 사용중인 라이브러리에 관한 것입니다. 나는 다음을 생각할 수 있습니다.
MATLAB- 이미지 처리 기능은 괜찮지 만 고급 및 실시간 처리를 위해서는 몇 가지 하위 수준의 자료가 필요합니다. 또한 이식성이 뛰어나지 않습니다.
Mathematica- 프로토 타이핑과 빠른 시각화에는 좋지만, 그것은 저의 겸손한 의견입니다.
OpenCV- 이것이 IP 커뮤니티에서 가장 인기있는 라이브러리라고 생각합니다. 뛰어난 기능 ( GPU 컴퓨팅, 머신 러닝 모듈, GUI-기타 필요한 것 )은 빠르고 개발 중입니다 (따라서 작은 버그는 매우 빠르게 제거됩니다). 커뮤니티에 관해서-그것은 크다! 주로 C / C ++ 프로그래밍뿐만 아니라 Python에도 적합합니다.
JAI -Java Advanced Imaging-Java를 좋아하는 경우에만. 개인적으로 나는 그것을 좋아하지 않습니다.
ImageMagick- 많은 프로그래밍 언어와 함께 사용할 수 있으며 API를 확인하십시오.
CxImage -MS Paint보다 나은 것을 만들고 Photoshop의 일부 기능을 사용하려는 경우에 좋습니다.
CImg- 분명히 C ++과 함께 사용되지만 OpenCV가 여전히 좋습니다.
PIL- 많은 기능을 갖춘 Python 전용 라이브러리. 당신이 그것을 좋아한다면 더 자세히 볼 수 있습니다.
SimpleCV- 기본적으로 약간의 조정으로 OpenCV 파이썬 바인딩입니다. 매우 사용하기 쉽고 매우 효율적입니다.
scikit-image -Python 라이브러리이지만 SimpleCV보다 나쁘지 않습니다 (친구는 동의하지 않지만). DAISY 기능 추출기가 포함되어 있다는 장점이 있습니다. 밀도가 높은 기능이 필요한 경우 매우 유용합니다.
GIL - Boost의 일부이지만 OpenCV보다 기능이 떨어집니다. Boost를 좋아하고 사용한다면 몇 가지 기본 기능을 사용할 수 있습니다.
ResIL - DevIL 프로젝트의지속. 주요 장점은 일부 게임 파일을 포함하여 많은 파일 형식에서 작동한다는 것입니다.
PINK- 원래 C ++로 작성되었습니다. 나는 최근에 그것을 시험해 보았고 함께 일하는 것이 매우 즐거웠다. 파이썬과 잘 통합되고 임베디드 C에서 빠릅니다. 그 외에도 많은 훌륭한 알고리즘이 있습니다.
분명히 더 많은 이미지 처리 라이브러리가 있지만 이것들은 내가 접촉 한 라이브러리입니다. 따라서 무언가로 시작하려면 OpenCV (바람직하게는 C ++ 프레임 워크에서)를 선택하십시오. 후회하지 않을 것입니다! 반면에, 프로그래밍 기술이 강력하지 않다면 파이썬 기반 라이브러리 사용에 대해 생각하고 싶을 것입니다. 실제로 배우고 설정하기가 쉽습니다.
MATLAB은 이미지 처리 학습에 가장 적합한 언어입니다. (내 의견이다)
배우기 쉽고, 하드웨어 독립적이며, 컴파일 된 언어보다 유연하며, 스크립트 언어보다 더 효율적일 수 있습니다 (기계 수준에서 신호 처리에 최적화 된 고유 한 dll로 인해). 우수한 학업 및 엔지니어링 지원을 제공합니다.
C / C ++는 이미지 처리의 독립형 응용 프로그램을 만드는 데 가장 적합한 언어입니다. IDE 제품군에서 가장 효율적인 네이티브 코드를 생성 할 수 있습니다. 그리고 C ++ 용 IDE는 더 나은 머신 레벨 디버깅 기능을 제공합니다.
일부 스크립트 언어도 사용 중입니다. 실제로 유연하고 휴대 가능하며 상당히 효율적이지만 낮은 수준에서는 디버깅이 쉽지 않을 수 있습니다.
또한 CUDA, OpenCL 등의 새로운 GPU 처리 기능은 계산 처리량을 크게 증가시킵니다. (그러나 효율성 향상을 위해서는 기본 GPU 파이프 라인 하드웨어 아키텍처를 알고 있어야하므로 배우기가 더 어렵습니다)