opencv python输出图像的宽高
时间: 2023-11-11 12:05:10 浏览: 32
在 OpenCV 中,可以使用 `shape` 方法来获取图像的宽高,返回一个包含图像高度和宽度的元组。在 Python 中,可以使用以下代码获取图像的宽高:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 获取图像的宽高
height, width, channels = img.shape
print('图像宽度:', width)
print('图像高度:', height)
```
其中,`img.shape` 返回一个包含图像高度、宽度和通道数的元组,我们只需要取前两个元素即可获取图像的宽高。
相关问题
opencv python 视频输出图片
你可以使用OpenCV的VideoCapture和VideoWriter函数将视频中的每一帧都转换为图片并输出。具体代码可以参考以下示例:
```
import cv2
video_capture = cv2.VideoCapture("video.mp4") #打开视频文件
success, frame = video_capture.read() #读取视频帧
video_writer = cv2.VideoWriter("output.avi", cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'), 30, (frame.shape[1], frame.shape[0])) #创建视频输出对象
count = 0 #图片计数器
while success:
#每读取一帧就输出一张图片
cv2.imwrite("frame%d.jpg" % count, frame)
count += 1
video_writer.write(frame) #将帧写入输出视频文件
success, frame = video_capture.read() #读取下一帧
video_capture.release() #释放视频
video_writer.release() #释放输出视频对象
```
这段代码会将视频每一帧都转换为图片并保存到文件夹中,同时将每一帧写入输出的视频文件中。
opencv python文本输出
在Python中使用OpenCV输出文本可以通过Pillow库来实现。下面是一个示例代码,其中使用了Pillow库中的Image、ImageDraw和ImageFont模块来创建图像并输出文本:
```
import cv2
import numpy as np
from PIL import Image, ImageDraw, ImageFont
# 创建一个白色背景的图像
img = np.full((512, 512, 3), 255, np.uint8)
# 将numpy数组转换为PIL图像
img_pil = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
# 设置文本内容、起始位置、字体类型和大小
text = 'Hello, OpenCV!'
start = (10, 200)
fonttype = 'msyh.ttc'
fontscale = 30
# 加载字体并创建绘图对象
font = ImageFont.truetype(fonttype, fontscale)
draw = ImageDraw.Draw(img_pil)
# 在图像上绘制文本
draw.text(start, text, font=font, fill=(255, 0, 0))
# 将PIL图像转换为numpy数组,并将BGR格式转换为RGB格式
img_ocv = np.array(img_pil)
img = cv2.cvtColor(img_ocv, cv2.COLOR_RGB2BGR)
# 显示图像
cv2.imshow('Output', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```