# 创建窗口
import cv2 as cv
# 创建窗口
cv.namedWindow("img",cv.WINDOW_NORMAL)
# 修改窗口大小
cv.resizeWindow("img",800,800)
# 展示窗口,0表示默认窗口
cv.imshow("img",0)
cv.waitKey(0)
cv.destroyAllWindows()
# 加载显示图片
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
# 读取图片
# 记住opencv中路径不能有中文 会报错
img = cv.imread("./dog.jpeg")
# 显示图片
cv.imshow("img",img)
cv.waitKey(0)
cv.destroyAllWindows()
#plt.imshow(img)
# 保存图片
# imwrite(path,img)
import cv2 as cv
cv.namedWindow("img",cv.WINDOW_NORMAL)
cv.resizeWindow("img",600,600)
img = cv.imread("./cat.jpeg")
while True:
cv.imshow("img",img)
key = cv.waitKey(0)
if key == ord("q"):
break
elif key==ord("s"):
cv.imwrite("./cat_1.png",img)
else:
print(key)
cv.destroyAllWindows()
# 视频采集
import cv2 as cv
import numpy as np
cv.namedWindow("img",cv.WINDOW_NORMAL)
cv.resizeWindow("img",600,600)
# 打开视频文件
cap = cv.VideoCapture("./chenjing.mp4")
# 打开摄像头
# cap = cv.VideoWindow(0)
# 循环
while cap.isOpened():
# cap读取数据,返回两个值,一个是标记,一个是数据
# True表示读到了数据,False表示没读到数据
ret,frame = cap.read()
# 判断--如果没读到数据,退出循环
if not ret:
break
cv.imshow("cap",frame)
key = cv.waitKey(0)
if key == ord("q"):
break
# 别忘了释放源
cap.release()
cv.destroyAllWindows()
视频录制
# 打开摄像头
cap = cv.VideoCapture(0)
# 创建保存视频格式
fourcc = cv.VideoWriter_fourcc(*"mp4v")
# 保存视频
vm = cv.VideoWriter("./output.mp4",fourcc,30,(640,480))
while cap.isOpened():
ret,frame = cap.read()
key = cv.waitKey(1000)
if key == ord("q"):
break
if not ret:
break
# 录制视频
vm.write(frame)
# 显示数据
cv.imshow("frame",frame)
cap.release()
vm.release()
cv.destroyAllWindows()