python-opencv获取屏幕分辨率
时间: 2023-07-30 19:10:54 浏览: 231
要使用OpenCV获取屏幕分辨率,您可以使用cv2库中的cv2.CAP_PROP_FRAME_WIDTH和cv2.CAP_PROP_FRAME_HEIGHT属性。以下是获取屏幕分辨率的示例代码:
``` python
import cv2
# 获取屏幕分辨率
screen = cv2.VideoCapture(0)
width = int(screen.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(screen.get(cv2.CAP_PROP_FRAME_HEIGHT))
print("屏幕分辨率为 %sx%s" % (width, height))
# 释放摄像头,关闭窗口
screen.release()
cv2.destroyAllWindows()
```
该代码将打印出您屏幕的分辨率。请注意,该代码还会打开一个摄像头窗口,如果您想关闭该窗口,请按“q”键。
相关问题
python opencv 实现屏幕找色并且返还颜色坐标
下面是一个简单的 Python OpenCV 代码,用于在屏幕上查找指定颜色并返回其坐标。
```python
import numpy as np
import cv2
import pyautogui
# 指定要查找的颜色
color = (0, 255, 0) # 这里是绿色
# 获取屏幕分辨率
screen_width, screen_height = pyautogui.size()
# 截取整个屏幕图像
screen = np.array(pyautogui.screenshot())
# 在图像中查找指定颜色
mask = cv2.inRange(screen, color, color)
# 找到所有匹配的像素坐标
y_coords, x_coords = np.where(mask == 255)
# 输出所有匹配的坐标
for x, y in zip(x_coords, y_coords):
print(f"({x}, {y})")
```
这段代码使用了 PyAutoGUI 库来获取屏幕分辨率和截取屏幕图像,使用了 NumPy 和 OpenCV 库来处理图像和查找指定颜色的像素坐标。最后,它输出了所有匹配的坐标。
python使用opencv录屏
要使用 OpenCV 在 Python 中录制屏幕,可以使用 `cv2.VideoWriter` 类。以下是一个示例代码段,其中将录制屏幕并将其保存为 `.avi` 文件:
```python
import numpy as np
from PIL import ImageGrab
import cv2
# 获取屏幕分辨率
screen_size = (1920, 1080)
# 设置视频编解码器和输出文件名
fourcc = cv2.VideoWriter_fourcc(*"XVID")
output_file = "output.avi"
# 创建 VideoWriter 对象以写入视频
out = cv2.VideoWriter(output_file, fourcc, 20.0, screen_size)
while True:
# 获取屏幕截图
img = ImageGrab.grab(bbox=(0, 0, screen_size[0], screen_size[1]))
# 将截图转换为 OpenCV 格式
img_np = np.array(img)
frame = cv2.cvtColor(img_np, cv2.COLOR_BGR2RGB)
# 将帧写入视频
out.write(frame)
# 显示视频
cv2.imshow("screen capture", frame)
# 按 Q 键退出循环
if cv2.waitKey(1) == ord("q"):
break
# 释放视频写入对象和窗口
out.release()
cv2.destroyAllWindows()
```
在此代码段中,我们首先获取屏幕分辨率,然后设置视频编解码器和输出文件名。然后,我们创建一个 `VideoWriter` 对象以写入视频,并在无限循环中不断获取屏幕截图,并将它们写入视频中。我们还在每次循环中显示屏幕截图,并等待按下 Q 键来退出循环。最后,我们释放视频写入对象和 OpenCV 窗口。