이미지 프로세싱 코딩


12

이미지 처리에 가장 적합한 언어가 궁금합니다. MATLAB에 좋은 라이브러리와 사용자 커뮤니티가 있다는 것을 알고 있습니다. 나는 그것을 확인하지 않았다. 파이썬도 거기에있다.

가장 효율적인 언어는 무엇입니까?

답변:


12

프로그래밍 언어뿐만 아니라 사용중인 라이브러리에 관한 것입니다. 나는 다음을 생각할 수 있습니다.

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 ++ 프레임 워크에서)를 선택하십시오. 후회하지 않을 것입니다! 반면에, 프로그래밍 기술이 강력하지 않다면 파이썬 기반 라이브러리 사용에 대해 생각하고 싶을 것입니다. 실제로 배우고 설정하기가 쉽습니다.


2

MATLAB은 이미지 처리 학습에 가장 적합한 언어입니다. (내 의견이다)

배우기 쉽고, 하드웨어 독립적이며, 컴파일 된 언어보다 유연하며, 스크립트 언어보다 더 효율적일 수 있습니다 (기계 수준에서 신호 처리에 최적화 된 고유 한 dll로 인해). 우수한 학업 및 엔지니어링 지원을 제공합니다.

C / C ++는 이미지 처리의 독립형 응용 프로그램을 만드는 데 가장 적합한 언어입니다. IDE 제품군에서 가장 효율적인 네이티브 코드를 생성 할 수 있습니다. 그리고 C ++ 용 IDE는 더 나은 머신 레벨 디버깅 기능을 제공합니다.

일부 스크립트 언어도 사용 중입니다. 실제로 유연하고 휴대 가능하며 상당히 효율적이지만 낮은 수준에서는 디버깅이 쉽지 않을 수 있습니다.

또한 CUDA, OpenCL 등의 새로운 GPU 처리 기능은 계산 처리량을 크게 증가시킵니다. (그러나 효율성 향상을 위해서는 기본 GPU 파이프 라인 하드웨어 아키텍처를 알고 있어야하므로 배우기가 더 어렵습니다)


-1

자체 알고리즘 또는 코드를 롤링하려면 많은 이미지 처리 커널이 "엄청나게 평행"하므로 OpenCL을 포함하십시오.

또는 Big Iron에서 Fortran은 여전히 ​​숫자 벡터 성능에서 다른 대부분의 언어를 능가합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.