Raspberry Pi Zero+Ruby+OpenCV 환경 구축

RaspberryPi 환경에서 Ruby+OpenCV는 이미지 처리를 위해 환경 구축(주로 OpenCV의 구축)이 힘들기 때문에 필기로 남긴다.
나는 거의 수요가 없다고 생각한다...

Raspberry Pi의 초기 설정


간단하지만 다음과 같은 몇 가지를 설정했다.
  • 해상도
  • WiFi
  • 영역/시간대
  • 키보드
  • Generic 105-key PC (Intl.)
  • Other
  • Japanese
  • Japanese - Japanese(OADG 109A)
  • The default for the keyboard layout
  • No compose key
  • 그리고
    > sudo apt-get update
    > sudo apt-get upgrade
    

    Ruby 설치


    루비-opencv의 대응이 루비2 계열이기 때문에 루비2.7.2이(가) 설치되었습니다.
    설치 단계는 를 참조하십시오지금까지 RaspberryPi에 Ruby를 설치해 봤습니다..
    먼저 rbenv를 설치합니다.
    > sudo apt-get install git
    
    > git clone git://github.com/sstephenson/rbenv.git .rbenv
    
    > echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
    > echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
    
    > cd .rbenv
    > mkdir plugins
    > cd plugins
    > git clone git://github.com/sstephenson/ruby-build.git
    
    > cd ~
    > source .bash_profile
    
    > rbenv --version
    
    > sudo apt-get install autoconf
    > sudo apt-get install libssl-dev libyaml-dev
    > sudo apt-get install bison build-essential
    > sudo apt-get install libreadline6-dev
    > sudo apt-get install libncurses5-dev
    
    및 Ruby 설치.
    > rbenv install 2.7.2
    
    (··여기서 약 3시간?·)
    > rbenv rehash
    > rbenv global 2.7.2
    > ruby -v
    
    마지막 버전 확인에서 버전이 표시되면 OK.

    OpenCV 설치


    OpenCV와 루비-opencv의 대응은 2 계열이다.
    OpenCV 2.41.13을 설치합니다.
    먼저 필요한 프로그램 라이브러리를 설치합니다.
    다양한 사이트를 보면서 설치를 추진했기 때문에 필요 없는 것이 있을 수 있다.
    # 開発ツール
    > sudo apt-get install build-essential
    > sudo apt-get install cmake
    # 行列演算
    > sudo apt-get install libeigen3-dev
    # GUIフレームワーク関連
    > sudo apt-get install libgtk-3-dev
    # 並列処理関連
    > sudo apt-get install libtbb-dev
    # 画像フォーマット関連
    > sudo apt-get install libjpeg-dev
    > sudo apt-get install libopenjp2-7-dev
    > sudo apt-get install libpng++-dev
    > sudo apt-get install libtiff-dev
    # その他
    > sudo apt-get install libhdf5-dev
    > sudo apt-get install libv4l-dev
    > sudo apt-get install libavformat-dev
    
    작업 디렉터리를 만들고 OpenCV의 원본 코드를 다운로드합니다.
    > mkdir work
    > cd work
    
    > sudo git clone https://github.com/opencv/opencv.git
    > cd opencv
    > sudo git checkout 2.4.13
    > sudo git ckeckout -b 2.4.13
    
    # (buildディレクトリを作成してその中でビルドするのがお作法とのことなので。)
    > sudo mkdir build
    > cd build
    
    구축할 때 욕을 먹었기 때문에 파이톤과 자바의 모듈을 설치했다.
    스케줄러:안쓰니까 못넣겠어.
    아래 사이트를 각각 참고하여 설치하였습니다.
    Python: Install OpenCV and Python on your Raspberry Pi 2 and B+
    Java: CMake could not find JNI
    > sudo apt-get install python2.7-dev
    > wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
    > python get-pip.py
    > pip install numpy
    
    > sudo apt-get install -y openjdk-8-jdk
    > sudo apt-get install -y default-jdk
    > export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    
    그리고 구축 중 오류가 발생하기 때문에make 파일을 수정합니다.
    여기Can't install opencv 2.4.9 on Ubuntu 18.04, get CXXCompiler error를 참고하세요.
    "changing -dumpversion to -dumpfullversion"
    > vi ../cmake/OpenCVDetectCXXCompiler.cmake
    
    -   execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
    +   execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -dumpfullversion
    
    이렇게 드디어 준비가 끝났습니다.빌딩을 시작하다.
    기본적으로 OpenCV 공식 페이지를 참조하십시오.
    오류에 대응하기 위해'-D ENABLE_PRECOMPILED_HEADERS=OFF'을 추가했다.
    참조: Error compiling OpenCV, fatal error: stdlib.h: No such file or directory
    > sudo cmake \
    -D CMAKE_BUILD_TYPE=Release \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D WITH_V4L=ON \
    -D WITH_FFMPEG=ON \
    -D BUILD_EXAMPLES=OFF \
    -D INSTALL_C_EXAMPLES=OFF \
    -D WITH_GSTREAMER=OFF \
    -D ENABLE_PRECOMPILED_HEADERS=OFF \
    ..
    
    (여기가 또 길어서 몇 시간도 안 하고 잤어요. 정확히 몇 시간이 걸렸는지 모르겠어요.)
    > sudo make
    
    > sudo make install
    
    메이크 슈퍼 WARNING 나왔습니다.
    하지만 WARNING이라 통과하지 못했습니다!!

    ruby-opencv 설치


    설치 참조공식 사이트.
    > gem install ruby-opencv -- --with-opencv-dir=/path/to/opencvdir
    

    삼바 설정


    이건 필요에 따라
    나의 기본적인 작업은 ssh 연결을 통해 진행되었다. 이미지를 처리하기 위해 중도 경과와 결과를 확인하기 위해 삼바를 설정했다.
    참고로 이쪽Raspberry PI에 삼바 설치에 설치했습니다.
    > sudo apt-get install -y samba
    > sudo vi /etc/samba/smb.conf
    
    [pi]
        comment = Anarog Meter Reader -01-
        path = /home/pi/share
        browseable = yes
        wriable = yes
        guest ok = no
        force create mode = 0666
        force directory mode = 0777
        read only = no
        create mask = 0777
        directory mask = 0777
    
    > sudo smbpasswd -a pi
    
    > sudo service smbd restart
    

    끝맺다


    이런 느낌이야.
    누군가 도움을 줄 수 있다면 정말 좋겠다.

    좋은 웹페이지 즐겨찾기