OpenCV图片显示,摄像头的调用

计算机视觉,这是第一天的学习笔记(图片的读取,视频的读取)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import cv2 as cv
import numpy as np
class Opencv_image():
def show_image(self,path):
self.src=cv.imread(path)
cv.namedWindow("this is a image",cv.WINDOW_AUTOSIZE)
cv.imshow("this is a image",self.src)
cv.waitKey(0)
cv.destroyAllWindows()
def show_came(self):
capture=cv.VideoCapture(0)
while(True):
ret , frame=capture.read()
frame=cv.flip(frame,1)
cv.imshow("video",frame)
cv.imwrite("D:/人脸识别/Opencv/image", frame)
c=cv.waitKey(50)
if c==27:
break
def creat_image(self):
img=np.zeros([400,400,3])
img[:,:,1]=np.ones([400,400])*255
cv.imshow("new image",img)
cv.waitKey(0)
cv.destroyAllWindows()
def create_image(self):
img=np.zeros([3,3],np.uint8)
img.fill(122) #填充
print(img)
def img_reverse(self,path):
#像素取反
src2=cv.imread(path)
dst=cv.bitwise_not(src2) #像素取反,使用cv里的bitwise_not
t=cv.getTickCount()
print(t)
cv.imshow("reverse",dst)
cv.waitKey(0)
cv.destroyAllWindows()
def def_np_array(self):
#定义维数数组
img=np.array([[2,3,4],[4,5,6],[7,8,9]],np.int32)
img.fill(0)
print(img)
if __name__=="__main__":
image=Opencv_image()
#image.show_image("6.jpg")
#image.show_came()
#image.img_reverse("6.jpg")
image.def_np_array()
"""
函数功能:
waitKey()函数的功能是不断刷新图像,频率时间为delay,单位为ms
返回值为当前键盘按键值
1、waitKey()–是在一个给定的时间内(单位ms)等待用户按键触发;
如果用户没有按下键,则接续等待(循环)
常见:设置waitKey(0),则表示程序会无限制的等待用户的按键事件
一般在imgshow的时候,如果设置waitKey(0),代表按任意键继续
2.显示视频时,延迟时间需要设置为 大于0的参数
delay>0时,延迟”delay”ms,在显示视频时这个函数是有用的,
用于设置在显示完一帧图像后程序等待”delay”ms再显示下一帧视频;
如果使用waitKey(0)则只会显示第一帧视频
"""
Fork me on GitHub