opencv 使用项目

lgqlht / 2024-10-13 / 原文

目录
  • opencv 使用项目
      • 前言
      • 照片
      • 视频

opencv 使用项目

前言

  • cv2.WINDOW_NORMAL:该窗口是一个可以手动调整大小的正常窗口。如果没有指定这个属性,窗口的大小将被固定。
  • cv2.WINDOW_AUTOSIZE:这是默认值,窗口的大小会根据图像大小自动调整,并且不能手动改变窗口大小。
  • cv2.WINDOW_FREERATIO:图像会被自由缩放,以适应窗口,而不会保持其原始宽高比。
  • cv2.WINDOW_KEEPRATIO:图像会被缩放以适应窗口,同时保持其原始宽高比。

照片

	import cv2

	#创建一个窗口(不用也可以)

	cv2.namedWindow('LGQ',cv2.WINDOW_NORMAL)

	#调节窗口大小(LGQ这个自定义,但一定要相等)宽为680,高为460

	cv2.resizeWindow('LGQ',680,460)

	#找到照片来读取

	img = cv2.imread('照片的路径+照片名')

	#用窗口来显示照片(上面没有创建窗口没有影响,自带窗口)

	cv2.imshow('LGQ',img)

	#添加一个等待按键来关闭窗口

	if cv2.waitKey(0):

		cv2.destroyAllWindows()

视频

	import cv2

	#创建窗口(可以不用创建)

	cv2.namedWindow('窗口名称',cv2.WINDOW_NORMAL)

	#调节窗口大小宽为680,高为460

	cv2.resizeWindow('和上面一样',680,460)

	#捕获视频

	cap = cv2.VideoCapture('视频的路径')

	while cap.isOpened():

	#读取视频的下一帧,ret不可以自定义,frame可以

		ret,frame = cap.read()
		#判断是否读取到,没有就跳出循环
		if not ret:
			break

	#来显示视频

		cv2.imshow('窗口名称',frame)

	#添加一个等待键来关闭窗口,当输入q的时候就关闭窗口

		if cv2.waitKey(1) == ord('q'):

			break

	#释放资源

	cap.release()

	#关闭所有窗口

	cv2.destroyAllWindows()