2012-07-15 6 views
26

JavaCV를 배우려고합니다. 여러분 모두 아시다시피,이 주제에 관한 교육 자료의 부족은 매우 큰 문제입니다. JavCV 홈페이지에서 그들은 "OpenCV CookBook"책에서 C++ 예제에 대한 많은 예제를 제공했습니다. 그러나이 경우는 자바가 아니며 그들은 SCALA에 있습니다 !!!! 이제 나는 이미 미쳤다! 나는 많은 예제가 웹에 있다는 것을 알고 있지만, 시작부터 배우기를 원한다. 그러면 나는 제대로 할 수있다. "OpenCV CookBook"은 아주 좋은 책이지만 C++의 OpenCV에 관한 것이지 자바에 관한 것은 아닙니다.순수 Java로 JavaCV 배우기

누구든지 JavaCV를 배우기에 더 좋은 곳을 찾도록 도와주세요. URL, 도서 등 무엇이든 제공하십시오. 그러나 Scala, C++, C 또는 다른 언어가 아닌 100 % Java로 JavaCV를 배우는 것이어야합니다! 도와주세요!

+12

내가 처음 Python으로 OpenCV를 배우기 시작한 경우입니다. 파이썬에는 튜토리얼이 없었고 모두 C++로 작성되었습니다. 하지만 어떻게 든 배워야하고 C++ 책을 읽고 파이썬으로 직접 변환하기 시작했습니다. 그리고 많은 시간이 걸렸습니다. 마지막으로 나는 내 자신의 튜토리얼 : opencvpython.blogspot.com, 초보자에 초점을했다. 이게 내가 너에게해야 할 말이다. 아주 기본적인 예제에서 직접 배우고 그 코드로 준비하면 미래의 학습자를위한 자습서를 작성하십시오. 어떻게 든 한 사람이 이니셔티브를 취해야합니다. 당신이되자! !!! –

답변

21

< 업데이트>

시간 변경 - 등을 OpenCV는 않습니다. 지금, 순수 자바 래퍼 (안 안드로이드)

</업데이트/사람이 데스크탑 자바 애플리케이션에서 직접 OpenCV의 기능을 사용할 수 있도록 빠르게 성장하고있다>

당신은 자바의 일부 자습서를 찾을 수 있습니다

OpenCV 샘플 디렉토리 : samples/android.

자세한 내용은 here을 참조하십시오.

지금, 나는 당신이 자바를 원하지만 안드로이드가 아니라고 말할 것이라고 확신한다. :). 그러나 이것은 설명이 필요합니다. 여러 가지 이유로

- 효율성과 임베디드 플랫폼에 두 번째 휴대되는 주요 하나, 컴퓨터 비전은 C/C++로 거의 이루어집니다. 이것은 사실상의 표준입니다. 모두 좋은 이유와 좋은 결과로 그것을 사용합니다.

Python과 Java와 같은 C++ 코드 기반에는 다른 어댑터가 있지만 빠른 프로토 타입 작성에는 Python이 사용되고 Android 기본 언어에는 Java 인터페이스가 있습니다. 그러나 모든 시나리오에서 '실제'알고리즘 개발은 C/C++로 수행됩니다. 이 때문에 다른 언어로 된 튜토리얼/책/예제는 아무도 신경 쓰지 않습니다.

결론 : 이미지 처리를 배우려면 C++ 또는 Python을 배우십시오. 일부 앱을 제작하려면 docs/android 튜토리얼에서 OpenCV Java 인터페이스에 대해 알아보십시오. 그러나 유연성이나 성능에 대한 제어를 기대하지 마십시오.

업데이트 된 노트 여기에 지정하는 두 가지 더 있습니다

.

처음으로으로 안드로이드가 등장하면서 파이썬이 점점 더 대중화됨에 따라 두 언어 (및 기타 언어)에서 사용할 수있는 콘텐츠가 급격히 증가하고 있습니다. 그러나 앞으로 몇 년 동안 핵심 개발 그룹과 최고의 문서가 C++ 영역에 포함될 것입니다.

아니지만 적어도 마지막으로, 당신은 당신이 하나 개의 언어에 충실하면 모든 작업 또는 프로그래밍 영역에서 , 당신은 죽은 목숨이야 있음을 알아 두셔야합니다.원칙이 중요하기 때문에 다양한 언어로 구현할 수 있어야하며 다양한 출처에서 읽고 이해할 수 있어야합니다. 의사 코드를 자바로 변환 할 수 없다고 말하는 프로그래머는 어떻습니까? 다른 언어들과도 똑같습니다.

Don't call yourself a programmer을 읽고 한 가지 언어로 프로그래밍하는 것을 잊어야하는 이유를 이해할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 정말 고맙습니다 :) 어쨌든, 적어도 스칼라를 배우지 않고 자바로 스칼라를 변환 할 수있는 방법이 있습니까? 내 말은, 온라인 도구 같은거야? –

+0

@Yohan :) 내 최신 게시물을 읽어주십시오. 당신이 그 아이디어를 얻길 바랍니다. 일부 온라인 도구 또는 (아마도) 그렇지 않을 수도 있지만 이해할 수 있어야합니다. – Sam

+0

나는 하나의 언어 만 알고 있다고 말하지 않았다. C# .Net 및 VB.Net, JavaFX, 일부 C++ 및 물론 일부 안드로이드를 알고 있습니다. 그러나 이것이 단일 API를 사용해야하기 때문에 한 사람이 세계에서 사용 가능한 모든 언어를 배워야한다는 것을 의미하지는 않습니다. 그 대신에, Xuggler API와 같은 다른 방법을 찾는 것이 가장 좋습니다. –