3.23
关于视频的显示,实际上也是将每帧的图像循环读出并显示,所以流程应该是先将视频捕捉,然后读取每一帧,再对每一帧的图像进行显示,所谓对视频的处理,实质上就是对读出的每一帧图像进行处理。
def video_show(video_name):
cap = cv.VideoCapture(video_name)
ret, frame = cap.read()
while True:
if not ret:
break
cv.imshow(' ', frame) #imshow(),第一个参数不能省略
k=cv.waitKey(30) & 0xff #增大括号内的数字可以变慢
if k ==27: # ESC键退出循环
break
#这段代码是错误的,只会显示第一帧,读这个操作也是需要循环操作的
#改正如下
def video_show(video_name):
cap = cv.VideoCapture(video_name)
while True:
ret, frame = cap.read()
if not ret:
break
cv.imshow(' ', frame)
k=cv.waitKey(30) & 0xff
if k ==27: # ESC键退出循环
break
4.10(pytorch)
torch 中都是对tensor进行操作,所以要把数据都转换为tensor格式(是张量,可以把它理解为矩阵)。
import numpy as np
a = np.ones(5)
b = torch.from_numpy(a)
b
#tensor([1., 1., 1., 1., 1., 1.], dtype=torch.float64)
每执行完一次操作之后,打印size看一看,当前结果是几行几列的。
view操作改变矩阵维度
x = torch.randn(4, 4)
y = x.view(-1, 8)
print(y.size())
#torch.Size([2, 8]) -1表示自动计算