pyqt-camera-example 是一个使用 PyQt5 和 OpenCV 库的 Python 示例,用于实现一个简单的摄像头应用程序。这个示例展示了如何使用 PyQt5 创建一个窗口,并在其中添加一个摄像头预览。用户可以通过点击按钮来切换摄像头源。
首先,需要安装 pyqt-camera-example 依赖库。可以使用 pip 命令进行安装:
```bash
pip install pyqt5-opencv-examples
```
接下来,可以运行以下代码来查看示例:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton, QVBoxLayout, QWidget
from PyQt5.QtGui import QCamera, QCameraViewfinder
from PyQt5.QtCore import QSize, QPoint
from pyqt_camera_example import example as qt_example
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("OpenCV Example - Camera")
self.camera = QCamera()
self.camera.setRange(0, 640)
self.camera.setFormat(QCamera.VideoFormat.Format_JPEG)
self.camera.setOutput(QCamera.CameraOutput.CameraOutput_Photo)
self.camera.setPreviewSize(QSize(320, 240))
self.camera_viewfinder = QCameraViewfinder()
self.camera_viewfinder.setCamera(self.camera)
self.button = QPushButton('Switch Camera', self)
self.button.clicked.connect(self.switch_camera)
layout = QVBoxLayout()
layout.addWidget(self.button)
layout.addWidget(self.camera_viewfinder)
self.setCentralWidget(layout)
def switch_camera(self):
if not self.camera.isActive():
self.camera.start()
else:
self.camera.stop()
self.camera.waitForReady()
self.camera.start()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
运行上述代码后,将显示一个简单的窗口,其中包含一个摄像头预览。用户可以通过点击按钮来切换摄像头源。