項目 widget-area-1 尚未註冊或是沒有一個 view.php 檔案.
項目 widget-area-1 尚未註冊或是沒有一個 view.php 檔案.
項目 search-input 尚未註冊或是沒有一個 view.php 檔案.

【Rpi3】Raspberry Pi 3 / 樹莓派 照相機模組設定 camera module (內含測試範例程式碼) / (問題解決:picamera no view, picamera preview anydesk)

前言

此為我測試 Raspberry Pi 3 / 樹莓派 照相機模組的筆記

去設定開啟照相機功能

sudo raspi-config

範例程式碼

外接 hdmi 直接顯示於螢幕

如果有外接 hdmi,可以使用這組 (會直接將畫面呈現並覆蓋於螢幕上)
開啟攝影機並顯示 10秒鐘 (使用 python 控制)

from picamera import PiCamera
from time import sleep

camera = PiCamera()

camera.start_preview()
sleep(10)
camera.stop_preview()

透過遠端桌面,搭配 OpenCV 顯示視窗來顯示畫面

上述方法是直接顯示畫面於螢幕上,但如果透過遠端桌面會看不到,
因此我們先將圖片存下來 (tmp.jpg),然後再使用 OpenCV 輸出畫面。

from picamera import PiCamera
from time import sleep
import cv2

wait_time = 1

def close_cv2_window():
    cv2.destroyAllWindows()
    camera.stop_preview()
    exit()


def show_img_OpenCV(img):
    cv2.imshow('test', img)
    #cv2.waitKey(1)

    ch = cv2.waitKey(wait_time)

    if cv2.getWindowProperty('test',1) == -1 :
        close_cv2_window() # break

    if ch & 0xFF == ord('q'): # q
        close_cv2_window()

    if ch == 27: # ESC
        close_cv2_window()        #break


def resize_img(img):
    scale_percent = 50
    width = int(img.shape[1] * scale_percent / 100)
    height = int(img.shape[0] * scale_percent / 100)
    dim = (width, height)
    resize_img = cv2.resize(img, dim, interpolation = cv2.INTER_AREA)

    return resize_img

def read_img(path):
    cv2_img = cv2.imread(path)
    return resize_img(cv2_img)

camera = PiCamera()

camera.start_preview()

while(True):
    # sleep(wait_time)
    path = '/home/pi/Desktop/tmp.jpg'
    camera.capture(path)
    cv2_img = read_img(path)
    show_img_OpenCV(cv2_img)

Reference

Howard Weng
Howard Weng

我是 Howard Weng,很多人叫我嗡嗡。這個網站放了我的各種筆記。希望這些筆記也能順便幫助到有需要的人們!如果文章有幫助到你的話,歡迎幫我點讚哦!
另外,因為定位是「個人的隨手筆記」,有些文章內容「⚠️可能我理解有誤⚠️」或「?只寫到一半?」,如果有發現這樣的情況,歡迎在該文章的最下面留言提醒我!我會儘快修正或補上!感謝大家的建議與幫忙,讓網站能變得更好?

文章: 889