网站首页 > 技术文章 正文
在生产测试中,经常需远程进行调试,使用摄像头可以直观的看到现场的情况,有时摄像头位置不一定合适,使用下面的代码,可以裁剪需关心的部分,如果有角度问题,还可以进行旋转。用起来很方便。分享给大家。
程序中设置的几个参数是:
angle:旋转角度,单位为度
x,y,w,h:裁剪指定区域,x是左上角往裁剪顶水平数的像素值,y是左上角往裁剪顶垂直数的像素值,w是要显示图片的宽度像素,h是要显示图片的高度像素。如果这些值不能超出原始图片。
按"q"关闭窗口。
Bash
import cv2
import numpy as np
# 打开电脑前置摄像头
cap = cv2.VideoCapture(0)
# 创建窗口并命名
#cv2.namedWindow('Rotated Image')
# 旋转角度,单位为度
angle = 0
# 计算变换矩阵
rows, cols = cap.read()[1].shape[:2]
M = cv2.getRotationMatrix2D((cols/2, rows/2), angle, 1)
# 循环读取摄像头数据
while True:
ret, frame = cap.read()
# 如果读取数据失败,则退出循环
if not ret:
break
# 对图像进行旋转操作
rotated_frame = cv2.warpAffine(frame, M, (cols, rows))
# 裁剪指定区域
x, y, w, h = 150, 70, 200, 140
crop_frame = rotated_frame[y:y+h, x:x+w]
# 放大裁剪后的图像
enlarged_frame = cv2.resize(crop_frame, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)
# 显示裁剪后的图像
cv2.imshow('Selected Region', enlarged_frame)
# 显示旋转后的图像
#cv2.imshow('Rotated Image', rotated_frame)
# 获取键盘事件
key = cv2.waitKey(1)
# 如果是窗口关闭事件,则退出循环
if key == ord('q') or key == 27:
break
# 释放摄像头资源并关闭窗口
cap.release()
cv2.destroyAllWindows()
- 上一篇: 用Python讓電腦攝像頭實現掃二維碼
- 下一篇: python摄像头识别检测已有照片人脸
猜你喜欢
- 2025-05-26 智能家居安防系统:AI与Python如何打造更安全的家
- 2025-05-26 在安卓设备上运行Python的方法
- 2025-05-26 基于OpenCv的人脸识别(Python完整代码)-大盘站
- 2025-05-26 边缘计算革命——Python在IoT与自动驾驶中的新战场
- 2025-05-26 还有这操作?我用Python这个库竟然实现了隔空操作
- 2025-05-26 一文带你深入了解Python+MediaPipe实现检测人脸的功能
- 2025-05-26 树莓派制成的 — 带运动检测和摄像头的安防系统
- 2025-05-26 用投影仪+摄像头DIY一台结构光3D扫描仪
- 2025-05-26 OpenCV-python 教你如何播放视频
- 2025-05-26 探索Python中的人脸识别:深入pyfacelib库
- 06-24Python调用Docker API的使用方式(pycharm docker 调试)
- 06-24青少年Python编程系列28:Python中函数的递归调用
- 06-24python调用sqlite数据库案例(python 调用数据库)
- 06-24【Python机器学习系列】基于Flask来构建API调用机器学习模型服务
- 06-24通过pybind11来实现python调用C++接口(一)
- 06-24Python编程调用Deepseek API创建智能体
- 06-24python多装饰器针对函数、类、方法的调用顺序说明
- 06-24Python Qt GUI设计:Python调用UI文件的两种方法(基础篇—3)
- 270℃Python短文,Python中的嵌套条件语句(六)
- 268℃python笔记:for循环嵌套。end=""的作用,图形打印
- 266℃PythonNet:实现Python与.Net代码相互调用!
- 262℃Python实现字符串小写转大写并写入文件
- 261℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 121℃原来2025是完美的平方年,一起探索六种平方的算吧
- 101℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 96℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
-
- Python调用Docker API的使用方式(pycharm docker 调试)
- 青少年Python编程系列28:Python中函数的递归调用
- python调用sqlite数据库案例(python 调用数据库)
- 【Python机器学习系列】基于Flask来构建API调用机器学习模型服务
- 通过pybind11来实现python调用C++接口(一)
- Python编程调用Deepseek API创建智能体
- python多装饰器针对函数、类、方法的调用顺序说明
- Python Qt GUI设计:Python调用UI文件的两种方法(基础篇—3)
- Python | Django 外部脚本调用 models 数据库
- 自学Python第九天——操作列表(python操作步骤)
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)