OpenCV on Raspberry Pi – Using Java(5)- 使用 OpenCV 拍攝照片(USB Webcam) << 前情
準備工作
安裝與啟動 Raspberry Pi Camera Module
Raspberry Pi官方的相機模組,比一般的USB Webcam還要小,適合使用在各種專案的應用。你購買的Raspberry Pi Camera Module,包含一個照像鏡頭的電路板和一條白色的排線。連接之前注意下列事項:
- 先關機後關閉Raspberry Pi的電源。
- 連接的時候小心白色排線,容易因為施力不當而破損
在相機模組這一端,排線末端藍色的部份,面向鏡頭的背面連接:

在Raspberry Pi這一端,排線末端藍色的部份,面向白色卡榫連接:

連接好Camera Module以後,啟動Raspberry Pi,依照下列的步驟執行設定:
-
執行下列的指令啟動設定應用程式:
-
選擇「Enable Camera」:

-
選擇「Yes」:

-
選擇「Ok」:

-
選擇「Finish」:

-
選擇「Yes」讓Raspberry Pi重新啟動:

安裝 Raspberry Pi Camera Module 需要的套件
OpenCV支援USB Webcam,如果你想要使用Raspberry Pi Camera Module,必須額外安裝V4L2套件。在個人電腦連線到Raspberry Pi的視窗,執行下列的指令安裝V4L2套件(需要花費一些時間,請耐心等候):
cd ~
wget http://linuxtv.org/downloads/v4l-utils/v4l-utils-1.6.2.tar.bz2
tar xfvj v4l-utils-1.6.2.tar.bz2
sudo apt-get -y install autoconf gettext libtool libjpeg-dev
cd v4l-utils-1.6.2
autoreconf -vfi
./configure
make
sudo make install
安裝完成後,先確認已經連接並啟動Raspberry Pi Camera Module,同樣在連線到Raspberry Pi的視窗,執行下列的指令啟動V4L2:
cd ~
raspistill -o test.jpg
sudo modprobe bcm2835-v4l2
為了讓Raspberry Pi在開機以後就可以自動載入V4L2,在連線到Raspberry Pi的視窗執行下面的指令開啟模組設定檔:
在檔案中加入下面的內容並儲存:
執行下面的指令讓Raspberry Pi重新啟動:
使用 Camera Module 拍攝與儲存照片
在NetBeans新增一個Java應用程式專案,參考下面的內容完成應用程式主類別:
package net.macdidi5.opencv;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.videoio.VideoCapture;
public class HelloCameraModule {
static {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
public static void main(String[] args) {
Core.setErrorVerbosity(false);
VideoCapture camera = new VideoCapture(0);
delay(1000);
if(!camera.isOpened()){
System.out.println("Camera Error");
}
else {
System.out.println("Camera OK");
}
Mat frame = new Mat();
camera.read(frame);
Imgcodecs.imwrite("/home/pi/HelloCameraModule.png", frame);
}
private static void delay(long ms) {
try {
Thread.sleep(ms);
}
catch (InterruptedException e) {
System.out.println(e);
}
}
}
為應用程式專案執行Raspberry Pi遠端執行設定,包含遠端執行與VM Options,執行應用程式專案,拍攝的照片儲存在下面的資料夾:
/home/pi/HelloCameraModule.png
Windows作業系統執行下面的指令,傳送照片檔案到個人電腦:
pscp pi@192.168.1.101:/home/pi/HelloCameraModule.png HelloCameraModule.png
Mac OS執行下面的指令,傳送照片檔案到個人電腦:
scp pi@192.168.1.101:/home/pi/HelloCameraModule.png HelloCameraModule.png
後續 >> OpenCV on Raspberry Pi – Using Java(7)- 使用 OpenCV 截取與顯示影片
|
林瑞擇
05/16
請問我到make時編譯錯誤出現In file included from jpeg.c:24:0:
jpeg_memsrcdest.h:4:1: error: conflicting types for ‘jpeg_mem_src’
jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer,
^~~~~~~~~~~~
代表著甚麼?