OpenCV는 여러 언어 바인딩을 제공하는 이미지 처리 및 컴퓨터 비전 알고리즘용 C++ 라이브러리입니다.
bytedeco/javacv
OpenCV, FFmpeg 등 컴퓨터 비전 및 멀티미디어 라이브러리를 위한 Java 래퍼와 헬퍼 클래스입니다.
- 스타
- 8,350
- 포크
- 1,615
- 열린 이슈
- 466
- 마지막 커밋
- 2개월 전
어떤 프로젝트인가요?
JavaCV를 사용하면 Java 개발자가 OpenCV와 FFmpeg 같은 널리 쓰이는 컴퓨터 비전 및 멀티미디어 라이브러리에 접근할 수 있습니다. 래퍼는 JavaCPP Presets를 기반으로 하며, 클래스 정의가 원본 C/C++ 헤더를 밀접하게 따르므로 OpenCV 및 FFmpeg API를 네이티브 코드에서와 거의 같은 방식으로 호출할 수 있습니다.
JavaCV는 기본 바인딩 외에도 자주 쓰이는 작업을 위한 헬퍼 클래스를 제공합니다. 하드웨어 가속 이미지 표시(CanvasFrame, GLCanvasFrame), FrameGrabber를 통한 카메라 및 동영상 파일의 프레임 캡처, FrameRecorder를 이용한 동영상 쓰기, 카메라 및 프로젝터 보정, 특징점 매칭, 블롭 분석 등을 지원합니다. 변환기를 사용하면 프레임을 Java 2D, Android 비트맵, OpenCV Mat 객체와 연동할 수 있습니다.
의존성은 Linux, macOS, Windows, Android용 네이티브 바이너리를 포함하는 javacv-platform 패키지로 Maven Central을 통해 배포됩니다. 일부 클래스에는 OpenCL 및 OpenGL 변형 지원도 포함됩니다.
핵심 기능
- 01C/C++ 원본 API를 따르는 OpenCV 및 FFmpeg용 Java 바인딩입니다.
- 02FrameGrabber 구현을 통해 카메라와 동영상 파일에서 프레임을 캡처합니다.
- 03FrameRecorder를 통해 동영상을 인코딩하고 출력합니다.
- 04CanvasFrame과 GLCanvasFrame으로 하드웨어 가속 이미지 표시를 지원합니다.
- 05카메라 및 프로젝터 보정, 특징점 매칭, 블롭 분석을 위한 헬퍼를 제공합니다.
- 06Android를 포함한 여러 플랫폼용 네이티브 바이너리를 Maven과 Gradle로 배포합니다.
활용 사례
- Java 또는 Kotlin으로 이미지 처리 및 컴퓨터 비전 애플리케이션을 개발합니다.
- 웹캠이나 동영상 스트림에서 프레임을 캡처해 실시간으로 처리합니다.
- Java 백엔드에서 동영상 파일을 트랜스코딩하거나 녹화합니다.
- JVM 기반 애플리케이션에 얼굴 감지 또는 윤곽 분석 기능을 추가합니다.
빠른 시작
- 1
Java SE 8 이상 JDK를 설치하세요
- 2
버전 1.5.14를 사용해 pom.xml(Maven) 또는 build.gradle(Gradle) 파일에 javacv-platform 의존성을 추가하세요
사용 전 알아둘 점
- 프로젝트의 라이선스가 메타데이터에 명확히 표시되어 있지 않습니다(NOASSERTION). 사용하기 전에 라이선스를 확인하세요.
- javacv-platform 의존성은 모든 플랫폼용 네이티브 바이너리를 다운로드하므로, javacpp.platform 속성을 설정하지 않으면 용량이 큽니다.
- 32비트와 64비트 모듈은 함께 사용할 수 없으므로 모든 구성 요소의 비트 수가 같아야 합니다.
토픽
자주 묻는 질문
- javacv은(는) 무엇인가요?
- OpenCV, FFmpeg 등 컴퓨터 비전 및 멀티미디어 라이브러리를 위한 Java 래퍼와 헬퍼 클래스입니다. JavaCV를 사용하면 Java 개발자가 OpenCV와 FFmpeg 같은 널리 쓰이는 컴퓨터 비전 및 멀티미디어 라이브러리에 접근할 수 있습니다. 래퍼는 JavaCPP Presets를 기반으로 하며, 클래스 정의가 원본 C/C++ 헤더를 밀접하게 따르므로 OpenCV 및 FFmpeg API를 네이티브 코드에서와 거의 같은 방식으로 호출할 수 있습니다.
- javacv은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- javacv은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- javacv은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. javacv의 마지막 커밋은 2026년 8월 12일입니다.
- javacv은(는) 어디에 사용할 수 있나요?
- Java 또는 Kotlin으로 이미지 처리 및 컴퓨터 비전 애플리케이션을 개발합니다. 웹캠이나 동영상 스트림에서 프레임을 캡처해 실시간으로 처리합니다. Java 백엔드에서 동영상 파일을 트랜스코딩하거나 녹화합니다. JVM 기반 애플리케이션에 얼굴 감지 또는 윤곽 분석 기능을 추가합니다.
- javacv는 어떻게 설치하나요?
- Java SE 8 이상 JDK를 설치하세요 버전 1.5.14를 사용해 pom.xml(Maven) 또는 build.gradle(Gradle) 파일에 javacv-platform 의존성을 추가하세요
- javacv은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/bytedeco/javacv
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
화이트보드 스타일 이미지를 CPU로 렌더링해 손으로 그리는 효과의 MP4로 변환하는 CLI 및 Python 라이브러리
이미지에서 텍스트를 추출하는 오픈 소스 OCR 엔진(libtesseract) 및 명령줄 도구로, LSTM 기반 인식과 100개 이상의 언어를 지원합니다.
스트림 입력, 모델 추론, 추적, 출력을 플러그형 파이프라인 노드로 연결하는 C++ 비디오 분석 프레임워크입니다.
Claude가 코드를 작성해 만든 10초 모션 디자인 영화 15편으로, 각 스타일의 프롬프트와 전체 소스 코드가 공개되어 있습니다.
재인코딩 없이 영상과 오디오를 무손실로 자르고 다듬고 리먹싱하는 크로스 플랫폼 FFmpeg GUI입니다.