欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python?如何調(diào)用手機(jī)攝像頭

 更新時(shí)間:2024年09月10日 12:16:37   作者:宇宙第一小趴菜  
本文介紹了如何使用Python和OpenCV庫在電腦上通過網(wǎng)絡(luò)連接查看和控制安卓手機(jī)攝像頭,詳細(xì)步驟包括安裝IP攝像頭服務(wù)器軟件,在同一局域網(wǎng)中連接手機(jī)和電腦,編寫Python腳本捕獲攝像頭數(shù)據(jù),以及保存照片等操作,感興趣的朋友跟隨小編一起看看吧

Python 調(diào)用手機(jī)攝像頭

在手機(jī)上安裝軟件

這里以安卓手機(jī)作為演示,ISO也是差不多的
軟件下載地址 (需要的朋友及時(shí)下載,鏈接有效期3天。)

注意:要想在電腦上查看手機(jī)攝像頭拍攝的內(nèi)容的在一個(gè)局域網(wǎng)里面(沒有 WIFI 可以使用 熱點(diǎn) )

安裝完打開IP攝像頭服務(wù)器

點(diǎn)擊分享查看IP

在這里插入圖片描述

查看局域網(wǎng)的IP

在這里插入圖片描述

用Python的Opencv寫一個(gè)代碼來連接手機(jī)攝像頭

安裝opencv-python

pip install opencv-python

注意

可能安裝庫太慢可以這樣(這里使用的是清華的鏡像)

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/

保存的照片在當(dāng)前的py文件同級(jí)目錄下面的img里面

手機(jī)橫著,電腦顯示的也是橫著,反之

# 將圖像旋轉(zhuǎn)90度以豎直顯示
img = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)   # 5. 旋轉(zhuǎn)圖像

使用

  • ESC: 退出界面
  • 空格: 保存手機(jī)攝像頭的照片

代碼

import cv2
import os
# 創(chuàng)建窗口,設(shè)置為不能改變大小
cv2.namedWindow('camera', cv2.WINDOW_NORMAL)   # 1. 修改窗口屬性,允許改變大小
# 攝像頭設(shè)置,這里使用的是網(wǎng)絡(luò)攝像頭的URL
video = 'http://admin:admin@192.168.1.103:8081'
capture = cv2.VideoCapture(video)   # 2. 初始化攝像頭
# 初始化保存圖片的序號(hào)
p = 1
# 開始無限循環(huán),直到用戶中斷
while True:
    success, img = capture.read()   # 3. 從攝像頭讀取一幀圖像
    if not success:
        print("無法抓取幀")   # 4. 如果讀取失敗,打印錯(cuò)誤信息并退出循環(huán)
        break
    # 將圖像旋轉(zhuǎn)90度以豎直顯示
    img = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)   # 5. 旋轉(zhuǎn)圖像
    # 顯示圖像
    cv2.imshow("camera", img)   # 6. 在窗口中顯示圖像
    # 按鍵處理
    key = cv2.waitKey(10)   # 7. 等待用戶按鍵,10毫秒響應(yīng)一次
    if key == 27:   # 8. 如果按下ESC鍵(ASCII碼為27),退出循環(huán)
        break
    elif key == ord(' '):   # 9. 如果按下空格鍵(ASCII碼為32),保存圖片
        # 保存圖片到當(dāng)前目錄下的img文件夾中
        img_folder = 'img'
        if not os.path.exists(img_folder):
            os.makedirs(img_folder)   # 10. 如果不存在img文件夾,則創(chuàng)建
        img_filename = f"{img_folder}/image_{p}.jpg"   # 11. 生成圖片文件名
        cv2.imwrite(img_filename, img)   # 12. 保存圖片
        print(f"Saved image {p}.jpg")
        p += 1   # 13. 更新圖片序號(hào)
# 釋放攝像頭資源
capture.release()
# 關(guān)閉所有OpenCV創(chuàng)建的窗口
cv2.destroyAllWindows()

注意

video的地址替換為查看局域網(wǎng)的IP時(shí)看到的地址

在這里插入圖片描述

展示效果

電腦端

在這里插入圖片描述

手機(jī)拍攝

在這里插入圖片描述

分辨率低,也就是圖片還是有點(diǎn)模糊

解釋

導(dǎo)入必要的庫

import cv2
import os

首先,導(dǎo)入cv2模塊(OpenCV庫)用于圖像處理和視頻流操作,以及os模塊用于文件路徑操作。

創(chuàng)建窗口

cv2.namedWindow('camera', cv2.WINDOW_NORMAL)

創(chuàng)建一個(gè)名為camera的窗口,并設(shè)置為可以改變大小。

攝像頭設(shè)置

video = 'http://admin:admin@192.168.1.103:8081'
capture = cv2.VideoCapture(video)

設(shè)置網(wǎng)絡(luò)攝像頭的URL,并初始化攝像頭對(duì)象。

初始化保存圖片的序號(hào)

p = 1

初始化一個(gè)變量p用于保存圖片時(shí)的序號(hào)。

主循環(huán)

while True:

開始一個(gè)無限循環(huán),用于持續(xù)捕獲和處理視頻幀。

讀取視頻幀

success, img = capture.read()

從攝像頭捕獲一幀圖像。success是一個(gè)布爾值,表示是否成功捕獲幀,img是捕獲到的圖像。

圖像旋轉(zhuǎn)

if not success:
    print("無法抓取幀")
    break
img = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)

如果未能成功捕獲幀,則打印錯(cuò)誤信息并退出循環(huán)。成功捕獲后,將圖像旋轉(zhuǎn)90度以豎直方向顯示。

顯示圖像

cv2.imshow("camera", img)

將旋轉(zhuǎn)后的圖像顯示在之前創(chuàng)建的camera窗口中。

按鍵處理

key = cv2.waitKey(10)

等待用戶按鍵操作,如果在10毫秒內(nèi)有按鍵則響應(yīng)。

if key == 27:
    break
elif key == ord(' '):

如果用戶按下ESC鍵(ASCII碼為27),則退出循環(huán)。如果按下空格鍵(ASCII碼為32),則保存當(dāng)前幀為圖片。

保存圖片

img_folder = 'img'
if not os.path.exists(img_folder):
    os.makedirs(img_folder)
img_filename = f"{img_folder}/image_{p}.jpg"
cv2.imwrite(img_filename, img)
print(f"Saved image {p}.jpg")
p += 1

檢查是否存在名為img的文件夾,如果不存在則創(chuàng)建。生成圖片文件名,并將當(dāng)前幀保存為圖片。打印保存圖片的信息,并更新圖片序號(hào)。

釋放資源

capture.release()
cv2.destroyAllWindows()

循環(huán)結(jié)束后,釋放攝像頭資源,并關(guān)閉所有OpenCV創(chuàng)建的窗口。

到此這篇關(guān)于Python 調(diào)用手機(jī)攝像頭的文章就介紹到這了,更多相關(guān)Python 調(diào)用手機(jī)攝像頭內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python里對(duì)list中的整數(shù)求平均并排序

    python里對(duì)list中的整數(shù)求平均并排序

    本文主要記述了使用Python將list重點(diǎn)整數(shù)求平均值之后在進(jìn)行排列的過程,并把代碼分享給大家,希望大家能給鼓鼓掌~~~
    2014-09-09
  • python使用xlrd模塊讀取xlsx文件中的ip方法

    python使用xlrd模塊讀取xlsx文件中的ip方法

    今天小編就為大家分享一篇python使用xlrd模塊讀取xlsx文件中的ip方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python統(tǒng)計(jì)指定目錄內(nèi)文件的代碼行數(shù)

    python統(tǒng)計(jì)指定目錄內(nèi)文件的代碼行數(shù)

    這篇文章主要介紹了python統(tǒng)計(jì)指定目錄內(nèi)文件的代碼行數(shù)
    2019-09-09
  • python?中的?module?和?package

    python?中的?module?和?package

    這篇文章主要介紹了?python?中的?module?和?package?,文章基于Python的相關(guān)資料展開對(duì)主題的詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • Pytorch教程內(nèi)置模型源碼實(shí)現(xiàn)

    Pytorch教程內(nèi)置模型源碼實(shí)現(xiàn)

    本文是關(guān)于Pytorch教程文章,本篇主要為教大家Pytorch內(nèi)置模型源碼實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-09-09
  • Pytorch框架實(shí)現(xiàn)mnist手寫庫識(shí)別(與tensorflow對(duì)比)

    Pytorch框架實(shí)現(xiàn)mnist手寫庫識(shí)別(與tensorflow對(duì)比)

    這篇文章主要介紹了Pytorch框架實(shí)現(xiàn)mnist手寫庫識(shí)別(與tensorflow對(duì)比),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • python中的Pytorch建模流程匯總

    python中的Pytorch建模流程匯總

    這篇文章主要介紹了python中的Pytorch建模流程匯總,主要幫大家?guī)椭蠹沂崂砩窠?jīng)網(wǎng)絡(luò)訓(xùn)練的架構(gòu),具有一的的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • Python PyWebIO提升團(tuán)隊(duì)效率使用介紹

    Python PyWebIO提升團(tuán)隊(duì)效率使用介紹

    這篇文章主要為大家介紹了Python PyWebIO提升團(tuán)隊(duì)效率使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Numpy之random函數(shù)使用學(xué)習(xí)

    Numpy之random函數(shù)使用學(xué)習(xí)

    這篇文章主要介紹了Numpy之random使用學(xué)習(xí),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Python異常處理中容易犯得錯(cuò)誤總結(jié)

    Python異常處理中容易犯得錯(cuò)誤總結(jié)

    本文整理了python異常處理中finally的兩個(gè)容易犯的錯(cuò)誤,適合新手朋友的學(xué)習(xí),感興趣的朋友可以參考下
    2021-06-06

最新評(píng)論