OpenCV는 이미지 및 카메라의 객체 인식을위한 라이브러리

오픈CV

OpenCV 크로스 플랫폼 머신 비전의 무료 라이브러리입니다. (GNU / Linux, Mac OS X, Windows 및 Android 용 기존 버전) 인텔에서 개발하고 수많은 응용 프로그램에서 사용모션 감지 기능이있는 보안 시스템부터 물체 인식이 필요한 프로세스 제어 애플리케이션까지. 이는 BSD 라이선스에 따라 출판이 제공되기 때문이며, 이에 명시된 조건으로 상업적 및 연구 목적으로 자유롭게 사용할 수 있습니다.

오픈 이력서 비전 프로세스의 광범위한 영역을 포괄하는 500 개 이상의 기능이 포함되어 있습니다. 물체 인식 (안면 인식), 카메라 보정, 스테레오 비전, 로봇 비전, 비디오에서 동작 분류, 이미지 변환, 3D 모델 추출, 스테레오 카메라 이미지에서 3D 공간 생성 등 저품질 이미지를 결합하여 고품질 이미지를 만듭니다.

또한 유사한 물체의 이미지를 검색하는 기능을 제공합니다. 기계 학습 방법을 적용하고, 마커를 구성하고, 다른 이미지에서 공통 요소를 식별하고, 적목 현상과 같은 결함을 자동으로 제거하여 제시된 요소 집합에 추가합니다.

OpenCV는 2500 개 이상의 알고리즘을 제공합니다. 컴퓨터 비전 및 머신 러닝 시스템 분야의 최신 업적을 고전적이면서도 반영합니다. 라이브러리 코드는 C ++로 작성되었으며 BSD 라이선스에 따라 배포됩니다.

새 버전 OpenCV 4.2 정보

지금 라이브러리는 OpenCV 4.2 버전에 있습니다., 여기서 DNN 모듈에서 (Deep Neural Network) 신경망 기반의 머신 러닝 알고리즘 구현으로 CUDA를 사용하기위한 백엔드 추가 nGraph OpenVINO API에 대한 실험적 지원이 구현되었습니다.

SIMD 명령어를 사용하는 것 외에도 스테레오 출력 (StereoBM / StereoSGBM), 크기 조정, 마스크, 회전, 누락 된 색상 구성 요소 계산 및 기타 여러 작업에 대한 코드 성능을 최적화합니다.

G-API 모듈에서 (opencv_gapi), 처리 엔진 역할을하는 그래픽 기반 알고리즘을 사용한 효율적인 이미징은 컴퓨터 비전 및 딥 머신 러닝을위한보다 복잡한 하이브리드 알고리즘을 지원합니다. 인텔 추론 엔진에 대한 지원을 제공합니다. 실행 모델에 비디오 스트림 처리 지원을 추가했습니다.

확인되지 않은 데이터를 XML, YAML 및 JSON 형식으로 처리하여 공격 코드를 실행할 수있는 취약성 (CVE-2019-5063, CVE-2019-5064)도 수정되었습니다. JSON 구문 분석 중에 널 태그가있는 문자가 발견되면 전체 값이 버퍼에 복사되지만 할당 된 메모리 영역의 한계를 제대로 확인하지 않습니다.

다른 변경 사항 중 이 새 버전에서 제공 :

  • pyrDown 함수의 다중 스레드 구현을 추가했습니다.
  • FFmpeg 기반 비디오 백엔드를 사용하여 미디어 컨테이너에서 비디오 스트림을 추출하는 기능이 추가되었습니다.
  • 손상된 FSR (Frequency Selective Reconstruction) 이미지의 빠른 주파수 선택적 재구성을위한 알고리즘이 추가되었습니다.
  • 일반적인 빈 영역의 보간을위한 RIC 방법이 추가되었습니다.
  • LOGOS 편차 정규화 방법이 추가되었습니다.

OpenCV 4.2를 설치하는 방법은 무엇입니까?

이 라이브러리 설치에 관심이있는 분들을 위해 새 버전을 얻을 수 있습니다 뿐만 아니라 사용과 관련된 정보를 참조하고 공식 웹 사이트에서 자습서를 찾을 수도 있습니다.

링크는 이쪽입니다.

이 기사에서 Raspberry pi에서 라이브러리를 구현할 수있는 단계를 제공합니다.

Raspberry P에 OpenCV를 설치하려면Raspbian이라는 시스템이 있어야합니다.

V에서터미널을 열고 여기에 입력하겠습니다. 다른 추가 라이브러리 중에서 종속성, 개발자 도구, 이미지 패키지를 설치하는 다음 명령 :

sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libfontconfig1-dev libcairo2-dev libgdk-pixbuf2.0-dev libpango1.0-dev libgtk2.0-dev libgtk-3-dev libatlas-base-dev gfortran libhdf5-dev libhdf5-serial-dev libhdf5-103 libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5

마지막으로, Python 3 헤더 파일을 설치하겠습니다. OpenCV를 컴파일 할 수 있도록 :

sudo apt-get install python3-dev

지금 Python 환경을 만들어 보겠습니다. 다음 명령을 사용하면 격리 된 사이트를 만들 수 있습니다.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo python3 get-pip.py
sudo rm -rf ~/.cache/pip

virtualenv 및 virtualenvwrapper를 설치합니다.

sudo pip install virtualenv virtualenvwrapper
nano ~/.bashrc

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
mkvirtualenv cv -p python3
pip install "picamera[array]"

지금 완료 우리는 openCV를 다음과 같이 컴파일 할 것입니다.

cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.2.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.2.0.zip
unzip opencv.zip
unzip opencv_contrib.zip
mv opencv-4.2.0 opencv
mv opencv_contrib-4.2.0 opencv_contrib

이제 기본적으로 그대로두면 시스템이 중단 될 수 있으므로 시스템에서 스왑을 늘릴 것입니다.

sudo nano /etc/dphys-swapfile

그리고 CONF_SWAPSIZE 변수를 편집 할 것입니다.

CONF_SWAPSIZE=1024

ctrl + o 및 ctrl + x로 저장하고 닫습니다. 그런 다음 다음을 입력합니다.

sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start

이제 컴파일을 진행할 것입니다.

workon cv
pip install numpy
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D BUILD_TESTS=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D CMAKE_SHARED_LINKER_FLAGS=-latomic \
-D BUILD_EXAMPLES=OFF ..
make -j4
sudo make install
sudo ldconfig
cd /usr/local/lib/python3.7/site-packages/cv2/python-3.7
sudo mv cv2.cpython-37m-arm-linux-gnueabihf.so cv2.so
cd ~/.virtualenvs/cv/lib/python3.7/site-packages/
ln -s /usr/local/lib/python3.7/site-packages/cv2/python-3.7/cv2.so cv2.so

그리고 준비.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.