赞
踩
- import cv2 as cv
- img = cv.imread("lena.jpg", 0)#绝对路径,如’D:\OpenCVSamples\lena.jpg’,路径不能有中文
- '''
- cv2.IMREAD_COLOR:彩色图,默认值(1)
- cv2.IMREAD_GRAYSCALE:灰度图(0)
- cv2.IMREAD_UNCHANGED:包含透明通道的彩色图(-1)'''
- #使用 cv2.imshow()显示图片,窗口会自适应图片的大小
- cv2.imshow("lena", img)#前面是窗口名,后面是要显示的图片对象
- cv2.waitKey()
- '''
- cv2.waitKey()是让程序暂停的意思,参数是等待时间(毫秒 ms)。时间一到,会继续执行接下来的
- 程序,传入 0 的话表示一直等待。等待期间也可以获取用户的按键输入:k = cv2.waitKey(0)。
- 我们也可以先用 cv2.namedWindow()创建一个窗口,之后再显示图片:'''
- cv2.namedWindow("lena2", cv2.WINDOW_NORMAL)#窗口名字和窗口显示方式
- cv2.imshow("lena2", img)#这里不是有两个窗口名?
- cv2.waitKey(0)
- '''参数 1 依旧是窗口的名字,参数 2 默认是 cv2.WINDOW_AUTOSIZE,表示窗口大小自适应图
- 片,也可以设置为 cv2.WINDOW_NORMAL,表示窗口大小可调整。图片比较大的时候,可以
- 考虑用后者。'''
- cv2.imwrite("lena_gray.jpg", img)#保存图片
- import cv2 as cv
- img = cv.imread("lena.jpg", 1)
- if cv2.waitkey()=='s':
- cv2.imwrite("lena_save.bmp", img)
- else:
- cv2.waitkey(0)
- =======================
- import cv2 as cv
- import matplotlib.pyplot as plt
- img = cv.imread('lena.jpg', 0)
- plt.imshow(img, cmap='gray')
- plt.show()
- ==========================
- import cv2 as cv
- import matplotlib.pylot as plt
- img1 = cv.imread('lena.jpg', 0)
- img2 = cv.cvtColor(img1, cv2.COLOR_BGR2RGB)
- plt.subplot(121)
- plt.imshow(img1)
- plt.subplot(122)
- plt.xticks[], plt.yticks[]
- plt.imshow(img2)
- plt.show()
- ========================
- import cv2 as cv
- import matplotlib.pylot as plt
- capture = cv.VideoCapture(0)
- while(Ture):
- ret, frame = capture.read()
- gray= cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
- cv.imshow('frame', gray)
- if(cv.waitkey(1)==ord('q')):
- break
- '''
- capture.read()函数返回的第 1 个参数 ret(return value 缩写)是一个布尔值,表示当前这一
- 帧是否获取正确。cv2.cvtColor()用来转换颜色,这里将彩色图转成灰度图。
- 另外,通过 cap.get(propId)可以获取摄像头的一些属性,比如捕获的分辨率,亮度和对
- 比度等。propId 是从 0~18 的数字,代表不同的属性,完整的属性列表可以参考:Property
- Identifier。也可以使用 cap.set(propId,value)来修改属性值。比如说,我们在 while 之前
- 添加下面的代码:
- '''
- width, height = capture.get(3), capture.get(4)
- print(width, height)
- capture.set(cv.CAP_PROP_FRAME_WIDTH, width*2)
- capture.set(cv.CAP_PROP_FRAME_HEIGHT, height*2)
- ==================
- capture = cv.VideoCapture("demo_video.mp4")
- while(capture.isOpened()):
- ret, frame = capture.read()
- gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
- cv.imshow('frame', gray)
- if(cv.waitkey(30)==ord('q')):
- break
- =================
- capture = cv.VideoCapture(0)
- fourcc = cv.Videowrite_fourcc(*'MJPG')
- outfile = cv.Videowrite('outfile', fourcc, 25, (640, 480))
- while(capture.isOpened()):
- ret, frame = capture.read()
- if ret:
- outfile.write(frame)
- cv.imshow('frame', frame)
- if(cv.waitkey(1)==ord('q')):
- break
- else:
- break
- '''
- 使用 cv2.VideoCapture()创建视频对象,然后在循环中一帧帧显示图像。参数传入数
- 字时,代表打开摄像头,传入本地视频路径时,表示播放本地视频
- o cap.get(propId)获取视频属性,cap.set(propId,value)设置视频属性
- o cv2.VideoWriter()创建视频写入对象,用来录制/保存视频
- 首先我们需要创建一个滑动条,如
- cv2.createTrackbar('R','image',0,255,call_back),其中
- o 参数 1:滑动条的名称
- o 参数 2:所在窗口的名称
- o 参数 3:当前的值
- o 参数 4:最大值
- o 参数 5:回调函数名称,回调函数默认有一个表示当前值的参数
- 创建好之后,可以在回调函数中获取滑动条的值&#
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。