色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣在樹(shù)莓派上使用圖像處理程序OpenCV來(lái)讀取顯示和寫(xiě)入圖像

454398 ? 來(lái)源:工程師吳畏 ? 2019-07-30 09:57 ? 次閱讀

教程重點(diǎn)介紹如何在Raspberry上使用OpenCV Pi可以讀取,顯示和寫(xiě)入圖像。這是開(kāi)始使用OpenCV時(shí)需要了解的基本內(nèi)容之一,也是最常用的代碼部分之一。

如果您希望創(chuàng)建一個(gè)在家中漫游并在您不在家時(shí)拍照的監(jiān)控機(jī)器人,那么本教程是您需要采取的首要步驟之一。

讓我們首先瀏覽用于讀取,顯示和保存圖像的每個(gè)函數(shù)。然后,我們可以編寫(xiě)代碼,以便我們的程序使用Pi相機(jī)來(lái)檢測(cè)面部,在檢測(cè)到的面部周圍創(chuàng)建一個(gè)矩形,然后拍攝一張照片。

在Raspberry Pi上使用OpenCV讀取圖像

用于讀取圖像的函數(shù)是 cv2.imread()。此函數(shù)有兩個(gè)參數(shù)。

第一個(gè)參數(shù)采用圖像的名稱。如果圖像在工作目錄中,那么您只需編寫(xiě)其名稱即可。否則,你必須給出圖像的完整路徑。

第二個(gè)參數(shù)采用告訴程序應(yīng)該如何讀取圖像的標(biāo)志。

1或cv2.IMREAD_COLOR 加載彩色圖像。它使用默認(rèn)顏色并忽略圖像透明度。

0或cv2.IMREAD_GRAYSCALE 加載灰度圖像。

-1或cv2。 IMREAD_UNCHANGED 加載圖像,包括alpha通道。

image = cv2.imread(‘obama.jpg’, 0)

or

image = cv2.imread(‘obama.jpg’, cv2.IMREAD_GRAYSCALE)

我們可以使用上面任何一行來(lái)讀取圖像。

使用Raspberry Pi在OpenCV中顯示圖像

用于顯示圖像的函數(shù)是 cv2.imshow()。此函數(shù)還有兩個(gè)參數(shù):第一個(gè)參數(shù)是窗口名稱,第二個(gè)參數(shù)是圖像的名稱。

注意:您無(wú)法更改此函數(shù)創(chuàng)建的窗口的大小。

還有一個(gè)函數(shù)( cv2.namedWindow())可用于創(chuàng)建窗口,然后使用 cv2.imshow()來(lái)顯示圖像在里面。您將能夠以這種方式調(diào)整圖像大小。

cv2.namedWindow(‘Obama’, cv2.WINDOW_NORMAL)

cv2.imshow(‘Obama’, image)

使用Raspberry Pi在OpenCV中寫(xiě)入圖像

寫(xiě)入圖像的函數(shù)是 cv2.imwrite(),它還有兩個(gè)參數(shù):第一個(gè)參數(shù)是圖像文件名(圖像將以此文件名保存),第二個(gè)參數(shù)是您要保存的圖像的名稱。

您還可以將圖像保存為其他格式,如下一行將JPG圖像更改為PNG格式。

cv2.imwrite(‘newobama.png’, image)

讀取,顯示和寫(xiě)入圖像的Python代碼

運(yùn)行代碼后,會(huì)出現(xiàn)類似下面的輸出窗口。如果按‘s’,程序會(huì)以灰度格式保存圖像,但如果按ESC鍵,它將退出窗口而不保存圖像。

# Import OpenCV library

import cv2

# Load color image in grayscale

image = cv2.imread(‘obama.jpg’, 0)

#or

#image = cv2.imread(‘obama.jpg’, cv2.IMREAD_GRAYSCALE)。

# Create the resizeable window

cv2.namedWindow(‘Obama’, cv2.WINDOW_NORMAL)

# Display the image

cv2.imshow(‘Obama’, image)

# Wait until we get a key

k=cv2.waitKey(0)

# If pressed key is ‘s’

if k == ord(‘s’):

# Save the image

cv2.imwrite(‘convertedimage.jpg’, image)

# Destroy all windows

cv2.destroyAllWindows()

# If pressed key is ESC

elif k == 27:

# Destroy all windows

cv2.destroyAllWindows()

cv2.waitkey()是一個(gè)鍵盤(pán)綁定功能,等待任何鍵盤(pán)事件的指定時(shí)間。它需要一個(gè)參數(shù),即以毫秒為單位的時(shí)間。如果在指定的時(shí)間范圍內(nèi)按下該鍵,程序?qū)⒗^續(xù)。傳遞0意味著它將無(wú)限期地等待一個(gè)鍵。

cv2.destroyAllWindows()函數(shù)會(huì)破壞所有打開(kāi)的窗口。如果要銷毀特定窗口,請(qǐng)使用 cv2.destroyWindow()并將窗口名稱作為參數(shù)傳遞。

在Raspberry Pi上使用OpenCV捕獲圖像和檢測(cè)面

現(xiàn)在根據(jù)我們學(xué)到的東西,讓我們編寫(xiě)一個(gè)演示代碼,在代碼被檢測(cè)到之前一直持續(xù)觀察。在檢測(cè)到面部后,它將在該面周圍形成一個(gè)矩形并保存圖像。

# import the necessary packages

from picamera.array import PiRGBArray

from picamera import PiCamera

import cv2

import numpy as np

# initialize the camera and grab a reference to the raw camera capture

camera = PiCamera()

camera.resolution = (640, 480)

camera.framerate = 30

rawCapture = PiRGBArray(camera, size=(640, 480))

# Load a cascade file for detecting faces

face_cascade = cv2.CascadeClassifier(“haarcascade_frontalface_default.xml”);

# capture frames from the camera

for frame in camera.capture_continuous(rawCapture, format=“bgr”, use_video_port=True):

# grab the raw NumPy array representing the image, then initialize the timestamp

# and occupied/unoccupied text

image = frame.array

# Convert to grayscale

gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

# Look for faces in the image using the loaded cascade file

faces = face_cascade.detectMultiScale(gray, 1.1, 5)

# Show the frame

cv2.imshow(“Frame”, image)

# Wait for key

key = cv2.waitKey(1) & 0xFF

# clear the stream in preparation for the next frame

rawCapture.truncate(0)

faceDetected = False

# Draw a rectangle around every found face

for (x,y,w,h) in faces:

faceDetected = True

# Create rectangle around the face

cv2.rectangle(image,(x,y),(x+w,y+h),(255,255,0),2)

# Save the image

cv2.imwrite(“result.jpg”, image)

if faceDetected == True:

break

cv2.destroyAllWindows()

嘗試運(yùn)行此代碼,您應(yīng)該能夠看到寫(xiě)入相應(yīng)目錄的新圖像文件突出顯示圖片中的一個(gè)面。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    635

    瀏覽量

    41338
  • 樹(shù)莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1707

    瀏覽量

    105610
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于OpenCV的拆分和合并圖像通道實(shí)驗(yàn)案例分享_基于RK3568教學(xué)實(shí)驗(yàn)箱

    一、實(shí)驗(yàn)?zāi)康?本節(jié)視頻的目的是了解圖像通道的概念,學(xué)習(xí)OpenCV的基本操作,并掌握通過(guò)OpenCV實(shí)現(xiàn)拆分和合并圖像通道的方法。 二、實(shí)驗(yàn)原理 拆分與合并
    發(fā)表于 12-03 14:27

    OpenCV教程之OpenCV圖像閾值處理

    閾值的基本概念是為了簡(jiǎn)化圖像以進(jìn)行分析。當(dāng)我們將圖像轉(zhuǎn)換為灰度圖像時(shí),必須記住灰度圖像仍然至少有255個(gè)值。閾值是將所有內(nèi)容轉(zhuǎn)換為白色或黑色的值,基于閾值。假設(shè)我們希望閾值為125(2
    的頭像 發(fā)表于 11-16 10:16 ?242次閱讀
    <b class='flag-5'>OpenCV</b>教程之<b class='flag-5'>OpenCV</b><b class='flag-5'>圖像</b>閾值<b class='flag-5'>處理</b>

    DSP教學(xué)實(shí)驗(yàn)箱_數(shù)字圖像處理操作_案例分享:5-13 灰度圖像二值化

    一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)灰度圖像二值化的原理,掌握圖像讀取方法,并實(shí)現(xiàn)在LCD上顯示二值化前后的圖像。 二、實(shí)驗(yàn)原理
    發(fā)表于 07-25 15:03

    基于DSP C6000教學(xué)實(shí)驗(yàn)箱_數(shù)字圖像處理教程:5-9 圖像反色實(shí)驗(yàn)案例分享

    的Console窗口會(huì)打印相關(guān)信息。 稍等片刻后,圖像處理完成,程序執(zhí)行完成后會(huì)在斷點(diǎn)處停下。 可以通過(guò) CCS 的圖像顯示窗口查看
    發(fā)表于 07-19 09:57

    OpenCV圖像識(shí)別C++代碼

    的頭文件 您的C++代碼中,包含以下必要的頭文件: # include # include # include # include # include # include # include 讀取圖像
    的頭像 發(fā)表于 07-16 10:42 ?1975次閱讀

    opencv圖像識(shí)別有什么算法

    OpenCV(Open Source Computer Vision Library)是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),提供了大量的圖像處理和計(jì)算機(jī)視覺(jué)相關(guān)的算法。以下是一些常見(jiàn)的Ope
    的頭像 發(fā)表于 07-16 10:40 ?1012次閱讀

    opencv的主要功能有哪些

    OpenCV提供了豐富的圖像處理功能,包括圖像讀取、顯示、保存、轉(zhuǎn)換等。此外,
    的頭像 發(fā)表于 07-16 10:35 ?1504次閱讀

    DSP教學(xué)實(shí)驗(yàn)箱_數(shù)字圖像處理_操作教程:5-1 圖像旋轉(zhuǎn)

    的Console窗口會(huì)打印相關(guān)信息。 稍等片刻后,圖像處理完成,程序執(zhí)行完成后會(huì)在斷點(diǎn)處停下。 可以通過(guò) CCS 的圖像顯示窗口查看
    發(fā)表于 06-14 14:03

    esp32能不能直接跑opencv?有沒(méi)有板子上面做圖像處理的庫(kù)?

    esp32能不能直接跑opencv,有沒(méi)有板子上面做圖像處理的庫(kù)
    發(fā)表于 06-13 06:59

    FPGA設(shè)計(jì)經(jīng)驗(yàn)之圖像處理

    優(yōu)勢(shì)最關(guān)鍵的就是:FPGA能進(jìn)行實(shí)時(shí)流水線運(yùn)算,能達(dá)到最高的實(shí)時(shí)性。因此一些對(duì)實(shí)時(shí)性要求非常高的應(yīng)用領(lǐng)域,做圖像處理基本就只能用FPGA。例如在一些分選設(shè)備中圖像
    發(fā)表于 06-12 16:26

    如何實(shí)現(xiàn)PIL和OpenCV之間圖像數(shù)據(jù)的轉(zhuǎn)換呢?

    PIL圖像數(shù)據(jù)格式轉(zhuǎn)換成OpenCV圖像數(shù)據(jù)格式
    的頭像 發(fā)表于 02-25 13:43 ?1210次閱讀

    圖像放大后,圖像中心顯示 ,圖像框中心,

    大家好,視覺(jué) 顯示 相機(jī)圖像時(shí),點(diǎn)擊 放大工具放大后,如何將大圖像的中心 對(duì)準(zhǔn)圖像顯示框的中心,,
    發(fā)表于 01-24 15:49

    核桃派上實(shí)現(xiàn)USB攝像頭的OpenCV顏色檢測(cè)

    在前幾周的文章中已經(jīng)介紹過(guò)如何在核桃派上OpenCV讀取圖像顯示到pyqt5的窗口上,這里在上一篇文章的基礎(chǔ)上,給開(kāi)發(fā)板加入顏色檢測(cè)功能
    的頭像 發(fā)表于 01-20 17:50 ?937次閱讀
    <b class='flag-5'>在</b>核桃<b class='flag-5'>派上</b>實(shí)現(xiàn)USB攝像頭的<b class='flag-5'>OpenCV</b>顏色檢測(cè)

    可視可交互!H618上用OpenCV讀取圖像顯示到PyQt5窗口上

    這里分享一個(gè)代碼,功能是使用圖像處理庫(kù)opencv從攝像頭獲取數(shù)據(jù),縮放后從pyqt5的窗口中顯示出來(lái)。安裝opencvsudo pip3 install
    發(fā)表于 01-10 09:55

    使用圖像處理庫(kù)OpenCV從攝像頭獲取數(shù)據(jù)并在PyQt5上顯示出來(lái)

    OpenCV能夠處理圖像、視頻、深度圖像等各種類型的視覺(jué)數(shù)據(jù)
    的頭像 發(fā)表于 01-05 17:32 ?2520次閱讀
    使用<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>庫(kù)<b class='flag-5'>OpenCV</b>從攝像頭獲取數(shù)據(jù)并在PyQt5上<b class='flag-5'>顯示</b>出來(lái)
    主站蜘蛛池模板: 黄色日本女人| 大屁股妇女流出白浆| 视频一区视频二区在线观看| 精品国产mmd在线观看| 99久久婷婷国产麻豆精品电影| 色久久久综合88一本道| 久久福利影院| 国产高清亚洲日韩字幕一区| 中文字幕不卡在线视频| 无限资源在线完整高清观看1| 老师xxxx69动漫| 国内九一激情白浆发布| 超碰97 总站 中文字幕| 在线自拍综合亚洲欧美| 午夜性爽视频男人的天堂在线| 欧美亚洲天堂网| 久久久黄色片| 果冻传媒在线播放| 福利视频一二三在线观看| 87影院午夜福利| 亚洲无吗在线视频| 羞羞漫画免费漫画页面在线看漫画秋蝉 | 娇小亚裔被两个黑人| 国产99r视频精品免费观看| 99视频精品全部免费 在线| 在线视频av大全色久久| 艳照门在线播放| 亚洲精品色播一区二区| 小骚妇BBBXXX| 无人区日本电影在线观看高清| 日本孕妇大胆孕交| 欧美尤物射精集锦| 欧美牲交视频免费观看K8经典| 巨黄的肉辣文np| 理论片午午伦夜理片久久| 久久久久嫩草影院精品| 久久免费看视频| 久久婷婷色香五月综合激情| 久久婷婷久久一区二区三区| 久久精品观看影院2828| 久久免费电影|