Làm cách nào để cài đặt OpenCV trên Raspberry Pi 3 trong Raspbian Jessie?


7

Tôi đã tìm kiếm google cho quá trình cài đặt OpenCV trên Raspbian Jessie trên Raspberry Pi 3 nhưng vẫn chưa tìm thấy bất kỳ trợ giúp hữu ích nào cho truy vấn. Sau đây là các liên kết,

http://www.pyimagesearch.com/2015/07/27/installing-opencv-3-0-for-both-python-2-7-and-python-3-on-your-raspberry-pi-2/

http://www.pyimagesearch.com/2015/10/26/how-to-install-opencv-3-on-raspbian-jessie/

Nhiều hướng dẫn trong số này sử dụng Môi trường ảo mà tôi không muốn sử dụng do các biến chứng không cần thiết. Xin vui lòng gửi hướng dẫn đầy đủ rất đơn giản và dễ hiểu.


2
Vì vậy, bạn đã thử bỏ qua phần virtualenv? Virtualenv có thể làm cho loại dự án này dễ dàng hơn, không khó hơn. Vì nó cung cấp cho bạn một nơi để thử nghiệm mà không cần vòi python hệ thống của bạn, nếu nó không hoạt động, bạn xóa một thư mục.
Steve Robillard

Câu trả lời:


11

Tôi cũng nghi ngờ về virtualenv và khá vui khi sống mà không có nó :) Dưới đây là các lệnh tôi đã thực hiện từ cả hai hướng dẫn mà bạn cung cấp, cho OpenCV 3.1.0

những thứ chung chung

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
sudo reboot
sudo apt-get install build-essential git cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran
cd ~
git clone https://github.com/Itseez/opencv.git
cd opencv
git checkout 3.1.0
cd ~
git clone https://github.com/Itseez/opencv_contrib.git
cd opencv_contrib
git checkout 3.1.0

Nếu bạn muốn sử dụng OpenCV với python 2.7:

sudo apt-get install python2.7-dev
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
pip install numpy
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=OFF \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..
make -j4
sudo make install
sudo ldconfig

Nếu bạn muốn sử dụng OpenCV với python 3:

sudo apt-get install python3-dev
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
pip install numpy
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=OFF \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..
make -j4
sudo make install
sudo ldconfig

Tiền thưởng:

Tôi muốn sử dụng makethay vì make -j4. Nó chậm hơn 4 lần, nhưng tránh một số lỗi biên dịch (kịch bản khóa học). Bạn vẫn có thể thử make -j4. Trong trường hợp lỗi chỉ cần sử dụng make cleanđể loại bỏ các công cụ được biên dịch trước đó, sau đó chạy make.

Tôi gặp một số khó khăn khi tải opencv và opencv-contrib. Thay vì nhân bản git, bạn có thể tải xuống nguồn ở định dạng tar.gz tại đây: https://github.com/opencv/opencv/release


5

Tôi sẽ thêm vào những gì @ Technico.top đã đề xuất. Có một phương pháp khác để cài đặt OpenCV bằng phần mềm mô phỏng để biên dịch phần mềm trên PC của bạn mà không yêu cầu phức tạp chéo. Điều này có nghĩa là bạn sẽ cài đặt bản phân phối debian / ub Ubuntu đích trên thẻ SD, mở rộng hệ thống tệp, khởi động một lần để kiểm tra xem mọi thứ có hoạt động hay không, sau đó gắn Thẻ SD vào PC bằng đầu đọc thẻ. Bạn sẽ có thể thấy hai phân vùng, boot và root của hệ thống tập tin linux.

  • tạo một thư sdcard/mục này sẽ phục vụ như là điểm gắn kết cho hệ thống tệp của bạn trên thẻ SD.
  • Cài đặt qemu-static-user(hoặc qemu-user-statictrong Debian Stretch) để mô phỏng phần cứng dựa trên nhánh trên CPU x86 của bạn.
  • gắn vật lý / Proc vào thư mục gốc sd của bạn: mount --bind /proc sdcard/proc
  • lặp lại bước trên cho tmp, sys, run, dev, dev / pts, home - nếu bạn có nhiều phân vùng. Nếu bạn chỉ có hai phân vùng, thì đây có thể là như thế này: sudo mount /dev/sdb1 sdcard/boot/sudo mount /dev/sdb2 sdcard/
  • sao chép nhị phân qemu vào thư mục sdroot bằng cp /usr/bin/qemu-arm-static sdcard/usr/bin/
  • chrootvào hệ thống tập tin gốc. điều này sẽ khiến bạn rơi vào vỏ trên thẻ SD được sử dụng bởi RaspberryPi trong khi nó được gắn trên PC của bạn. Trong khi bạn đang ở trong sdcard/thư mục của mình , hãy chạy lệnh sau : chroot . /bin/bash --login.
  • [Tùy chọn] Lưu các mục DNS trong độ phân giải hoặc bất kỳ hoạt động "Liên quan đến mạng" nào khác thường xuyên cần phải được thực hiện tại thời điểm này.
  • Bây giờ bạn có thể tiến hành bắt đầu hướng dẫn cài đặt tiêu chuẩn. ra lệnh rằng ý chí của bạn sẽ chạy trong chroot sheell, như apt installcho phép bạn cài đặt và biên dịch opencv nhanh hơn nhiều, tùy thuộc vào phần cứng của bạn.
  • Điều đáng nói là có một tập lệnh gọi là opencv3-setup quản lý tất cả các cài đặt tải xuống và phụ thuộc, giúp cài đặt tất cả các gói cần thiết dễ dàng hơn.
  • Sau khi thực hiện và thực hiện các lệnh cài đặt được thực hiện thành công, bạn có thể tháo Thẻ SD một cách an toàn bằng cách sử dụng umount /dev/sdb2umount /dev/sdb1.
  • Bây giờ đặt Thẻ SD vào RPi hoặc bất kỳ ARM SBC mục tiêu nào và kiểm tra Cài đặt OpenCV.

Điểm được đề cập bởi Technico.top khiến cho -j4 chậm hơn trong raspberry pi, nhưng nếu bạn cài đặt theo phương pháp mà tôi đã làm sáng tỏ thì cài đặt opencv rất nhanh, tôi có PC Intel i7 với RAM 16 GB và nó có thể cài đặt opencv vào Thẻ SD rất nhanh so với biến chứng truyền thống đã được báo cáo trong khoảng từ 6-27 giờ.

Tài liệu tham khảo - https://wiki.gentoo.org/wiki/Embedded_Handbook/General/Compiling_with_qemu_user_chroot - https://community.arm.com/iot/embedded/b/embedded-blog/posts/cross-compilation


Tên gói cho Ubuntu 18.04 thì qemu-user-statickhông qemu-static-user.
Ereli
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.