OpenCV 常用的代码片段
读取视频为帧数据
1 | import cv2 |
图像数据生成视频
1 | fps = 30.0 # 定义帧率 |
灰度拉伸
cv2.normalize(src[, dst[, alpha[, beta[, norm_type[, dtype[, mask]]]]]])
–> dst
设置 norm_type=cv2.NORM_MINMAX
alpha
: 拉伸后的最小值beta
: 拉伸后的最大值
例如,拉伸到 0 到 255
1 | dst = cv2.normalize(src=src, alpha=0, beta=255, norm_type=cv2.NORM_MINMAX) |
像素值的线性变换
cv2.convertScaleAbs(src[, dst[, alpha[, beta]]])
–> dst
计算之后,大于 255 的值被截断到 255
填充 contours
关键点是 cv2.FILLED
1 | cv2.drawContours(zeros, [np.array(c) for c in contours], -1, (255, 255, 255), cv2.FILLED) |
直接使用内存中的数据
1 | mat = cv2.imdecode(np.asarray(bytearray(open(f))), 1) |