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

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

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

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

在手機上安裝軟件

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

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

安裝完打開IP攝像頭服務器

點擊分享查看IP

在這里插入圖片描述

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

在這里插入圖片描述

用Python的Opencv寫一個代碼來連接手機攝像頭

安裝opencv-python

pip install opencv-python

注意

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

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

保存的照片在當前的py文件同級目錄下面的img里面

手機橫著,電腦顯示的也是橫著,反之

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

使用

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

代碼

import cv2
import os
# 創(chuàng)建窗口,設置為不能改變大小
cv2.namedWindow('camera', cv2.WINDOW_NORMAL)   # 1. 修改窗口屬性,允許改變大小
# 攝像頭設置,這里使用的是網(wǎng)絡攝像頭的URL
video = 'http://admin:admin@192.168.1.103:8081'
capture = cv2.VideoCapture(video)   # 2. 初始化攝像頭
# 初始化保存圖片的序號
p = 1
# 開始無限循環(huán),直到用戶中斷
while True:
    success, img = capture.read()   # 3. 從攝像頭讀取一幀圖像
    if not success:
        print("無法抓取幀")   # 4. 如果讀取失敗,打印錯誤信息并退出循環(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毫秒響應一次
    if key == 27:   # 8. 如果按下ESC鍵(ASCII碼為27),退出循環(huán)
        break
    elif key == ord(' '):   # 9. 如果按下空格鍵(ASCII碼為32),保存圖片
        # 保存圖片到當前目錄下的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. 更新圖片序號
# 釋放攝像頭資源
capture.release()
# 關閉所有OpenCV創(chuàng)建的窗口
cv2.destroyAllWindows()

注意

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

在這里插入圖片描述

展示效果

電腦端

在這里插入圖片描述

手機拍攝

在這里插入圖片描述

分辨率低,也就是圖片還是有點模糊

解釋

導入必要的庫

import cv2
import os

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

創(chuàng)建窗口

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

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

攝像頭設置

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

設置網(wǎng)絡攝像頭的URL,并初始化攝像頭對象。

初始化保存圖片的序號

p = 1

初始化一個變量p用于保存圖片時的序號。

主循環(huán)

while True:

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

讀取視頻幀

success, img = capture.read()

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

圖像旋轉(zhuǎn)

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

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

顯示圖像

cv2.imshow("camera", img)

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

按鍵處理

key = cv2.waitKey(10)

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

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

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

保存圖片

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)建。生成圖片文件名,并將當前幀保存為圖片。打印保存圖片的信息,并更新圖片序號。

釋放資源

capture.release()
cv2.destroyAllWindows()

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

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

相關文章

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

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

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

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

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

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

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

    python?中的?module?和?package

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

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

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

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

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

    python中的Pytorch建模流程匯總

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

    Python PyWebIO提升團隊效率使用介紹

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

    Numpy之random函數(shù)使用學習

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

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

    本文整理了python異常處理中finally的兩個容易犯的錯誤,適合新手朋友的學習,感興趣的朋友可以參考下
    2021-06-06

最新評論