[TOC]
# **pygame.camera**
Pygame 中使用攝像頭的模塊。
## **函數**
* pygame.camera.colorspace() —— 轉換 Surface 對象的色彩空間
* pygame.camera.list\_cameras() —— 返回一個可用攝像頭列表
## **類**
* pygame.camera.Camera —— 用于加載攝像頭的類
Pygame 目前僅支持 linux 系統和 cameras\_Video4Linux2 驅動。
注意!:這些應用程序編程接口可能在之后發行的 Pygame 版本內被改變或者刪除。如果你使用了這些應用程序編程接口,你的程序很有可能與之后發行的 Pygame 版本不兼容。
## **函數詳解**
### **pygame.camera.colorspace()**
轉換 Surface 對象的色彩空間。
colorspace(Surface, format, DestSurface = None) -> Surface
允許從 RGB 轉換到 HSV 或者 YUV。源和目標表面必須是相同大小和像素深度。對于在處理能力有限的設備上的計算機視覺是十分有用。在做任何處理前,盡可能小的捕獲圖像,使用 transform.scale() 讓其變得更小,然后將色彩空間轉換為 YUV 或者 HSV。
### **pygame.camera.list\_cameras()**
返回一個可用攝像頭列表。
list\_cameras() -> \[cameras\]
確認電腦是否有可用攝像頭并且返回一個可用攝像頭名稱列表,然后用 pygame.camera.Camera 對象來加載一個攝像頭。
## **類 class pygame.camera.Camera**
加載一個攝像頭。
Camera(device, (width, height), format) -> Camera
## **方法**
* pygame.camera.Camera.start() —— 打開攝像頭、初始化然后開始捕捉畫面
* pygame.camera.Camera.stop() —— 結束攝像頭工作,還原并關閉攝像頭
* pygame.camera.Camera.get\_controls() —— 獲得當前用戶設定的值
* pygame.camera.Camera.set\_controls() —— 修改當前攝像頭設置(如果攝像頭支持的話)
* pygame.camera.Camera.get\_size() —— 返回被記錄的圖像的尺寸
* pygame.camera.Camera.query\_image() —— 確認一幀圖像是否準備好
* pygame.camera.Camera.get\_image() —— 捕獲一張圖像并轉換為一個 Surface 對象
* pygame.camera.Camera.get\_raw() —— 以字符串的形式返回一張未修改的圖像
加載一個 V4L2 攝像頭。此設備通常類似于 “/dev/video0”。默認寬度和高度是 640 × 480。格式是輸出所需的色彩空間。對于計算機視覺效果來說這樣做是有用的。默認格式為 RGB。
以下為支持的格式:
* RGB - Red, Green, Blue
* YUV - Luma, Blue Chrominance, Red Chrominance
* HSV - Hue, Saturation, Value
## **方法詳解**
### **pygame.camera.Camera.start()**
打開攝像頭、初始化然后開始捕捉畫面。
start() -> None
打開攝像設備,嘗試將其初始化,并且開始將圖像記錄到緩沖區。在以下任何功能可以被使用之前,攝像頭必須開啟。
### **pygame.camera.Camera.stop()**
結束攝像頭工作,還原并關閉攝像頭。
stop() -> None
停止攝像頭記錄錄像的工作,還原攝像頭并且將其關閉。一旦攝像頭被關閉,以下功能都不能被使用,直到攝像頭再次開啟。
### **pygame.camera.Camera.get\_controls()**
獲得當前用戶設定的值。
get\_controls() -> (hflip = bool, vflip = bool, brightness)
如果攝像頭支持此功能,get\_controls 函數將會返回當前設定值(用布爾值表示的圖像是否水平、垂直翻轉,用整數值表示的圖像亮度)。如果攝像頭不支持此功能,將會返回默認值 (0, 0, 0)。
注意:此函數的返回值可能和由 set\_controls() 得到的不同,但并不意味著這些返回值有問題。
### **pygame.camera.Camera.set\_controls()**
修改當前攝像頭設置(如果攝像頭支持的話)。
set\_controls(hflip = bool, vflip = bool, brightness) -> (hflip = bool, vflip = bool, brightness)
如果攝像頭支持,則允許你改變當前的攝像頭設定。如果攝像頭表示改變成功或者不成功但輸入值之前就已經在使用了,則返回值等于輸入值。每一個參數都是可選的,并且我們需求的某個參數可以通過提供關鍵字(例如 “hflip”)進行選擇。
注意:相機實際所用的設定值可能和 set\_controls() 的返回值不同。
### **pygame.camera.Camera.get\_size()**
返回被記錄的圖像的尺寸。
get\_size() -> (width, height)
返回當前被記錄圖像的尺寸。如果攝像頭不支持在初始化過程中指定的圖像尺寸,該函數將會返回圖像的真實尺寸。
### **pygame.camera.Camera.query\_image()**
query\_image() -> bool
確認一幀圖像是否準備好。
如果一個圖像已經成功捕獲到,該函數返回 true,否則返回 false。
注意:當調用一個阻塞函數(例如 get\_image())時,一些攝像頭將一直返回 false 并且僅將一幀畫面放入隊列中。這種機制對于從一些沒有使用多線程的攝像頭中區分游戲幀數是很有用的。
### **pygame.camera.Camera.get\_image()**
get\_image(Surface = None) -> Surface
從緩沖區中取出一張圖像轉換為一個 RGB 的 Surface 對象。該函數可 以選擇性的重用現有的 Surface 對象以節省時間。Surface 對象的位深可以是 24bit 或者與其他可供選擇的選項。
### **pygame.camera.Camera.get\_raw()**
get\_raw() -> string
從攝像頭獲取一張圖像,該圖像被表示為此攝像頭本地像素格式下的一串字符串。此機制有利于和其他庫的結合。
- 一、Python基礎
- 1. 序言
- 1.1 Python簡介
- 1.2 安裝和使用IDE
- 1.3 語言特性和基礎概念
- 2. 基本數據類型
- 2.2 字符串型
- 2.2.2 ASCII簡介
- 2.2.4 字符串常用函數
- 3. 條件分支
- 3.3 閑聊條件判斷和運算符優先級
- 10.正則表達式
- 【降龍十八章】Python小技巧
- 18.1 學習網址
- 18.2 PIP切換源
- 18.3 使用whl來安裝
- 【工具優化】IDE優化技巧
- Anaconda
- Jupyter Notebook 的 Markdown 添加大綱
- Jupyter Notebook中圖片縮放和居左
- Anaconda設置環境變量
- Pycharm
- PyCharm新建文檔配置
- 設置字體和字號
- 設置主題和字體配色
- 保存和導入配置
- 設置對選擇內容自動添加引號
- 推薦安裝的插件
- Markdown
- 表格格式
- 二、Python進階
- copy和deepcopy
- 《零基礎入門學習 Python 》【小甲魚版】
- 001.和Python的第一次接觸+習題復習
- 002.用Python設計的第一個游戲 +習題復習
- Pygame詳解
- Pygame詳解:前言
- Pygame詳解(一):Color類
- Pygame詳解(二):display 模塊
- Pygame詳解(三):draw 模塊
- Pygame詳解(四):event 模塊
- Pygame詳解(五):font 模塊
- Pygame詳解(六):image 模塊
- Pygame詳解(七):key 模塊
- Pygame詳解(八):locals 模塊
- Pygame詳解(九):mixer 模塊
- Pygame詳解(十):mouse 模塊
- Pygame詳解(十一):Rect 對象
- Pygame詳解(十二):Surface 對象
- Pygame詳解(十三):time 模塊
- Pygame詳解(十四):music 模塊
- Pygame詳解(十五):pygame 模塊
- Pygame詳解(十六):cursors 模塊
- Pygame詳解(十七):joystick 模塊
- Pygame詳解(十八):mask 模塊
- Pygame詳解(二十一):BufferProxy 對象
- Pygame詳解(二十三):gfxdraw 模塊
- Pygame詳解(二十五):Overlay 對象
- Pygame詳解(二十八):sndarray 模塊
- Pygame詳解(三十一):camera 模塊
- Pygame詳解(三十二):cdrom 模塊
- Pygame詳解(三十六):version 模塊
- pygame rect相關知識
- Tkinter詳解
- Tkinter 組件詳解(一):Label
- Tkinter 組件詳解(二):Button