赞
踩
1、字节转字符串:
def bytes2str(b):
return base64.b64encode(b).decode()
2、字符串转字节:
def str2bytes(s):
return base64.b64decode(s.encode())
3、cv2格式转为字符串:
image_encode = cv2.imencode('.jpg', np.asarray(img_raw))[1]
image_str = str(base64.b64encode(image_encode))[2:]
4、字符串转cv2:
def str2np_cv2(img_str):
img_bytes = base64.b64decode(img_str)
img_np = np.frombuffer(img_bytes, dtype=np.uint8)
img_np_cv2 = cv2.imdecode(img_np, cv2.IMREAD_COLOR)
return img_np_cv2
5、根据人脸坐标定位,画框:
if score <0.8:
text="Not clear"
color=(0,0,255)
else:
text="clear"
color=(0,255,0)
cv2.rectangle(img_np_cv2, (int(ymin), int(xmin)), (int(ymax), int(xmax)),color, 2)
cv2.putText(img_np_cv2, "%s: %.2f" % (text, score), (int(xmin), int(ymin)), cv2.FONT_HERSHEY_SIMPLEX,1,color,2)
#最后一个表示字体粗细,color表示字体颜色,1表示字体大小。
cv2.namedWindow('image', 0)
cv2.resizeWindow("image", 600, 600)
cv2.imshow('image', img_np_cv2)
cv2.waitKey(waitkey)
6、利用本地摄像头获取视频并显示:
def run_on_video(video_path=0, output_video_name, conf_thresh): #0为默认摄像头 cap = cv2.VideoCapture(video_path) height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT) width = cap.get(cv2.CAP_PROP_FRAME_WIDTH) fps = cap.get(cv2.CAP_PROP_FPS) fourcc = cv2.VideoWriter_fourcc(*'XVID') # writer = cv2.VideoWriter(output_video_name, fourcc, int(fps), (int(width), int(height))) total_frames = cap.get(cv2.CAP_PROP_FRAME_COUNT) if not cap.isOpened(): raise ValueError("Video open failed.") return status = True idx = 0 while status: start_stamp = time.time() status, img_raw = cap.read() img_raw = cv2.cvtColor(img_raw, cv2.COLOR_BGR2RGB) read_frame_stamp = time.time() if (status): inference(img_raw, conf_thresh, iou_thresh=0.5, target_shape=(360, 360), draw_result=True, show_result=False) cv2.imshow('image', img_raw[:, :, ::-1]) cv2.waitKey(1) inference_stamp = time.time() # writer.write(img_raw) write_frame_stamp = time.time() idx += 1 print("%d of %d" % (idx, total_frames)) print("read_frame:%f, infer time:%f, write time:%f" % (read_frame_stamp - start_stamp, inference_stamp - read_frame_stamp, write_frame_stamp - inference_stamp))
7、waitkey
cv2.waitKey(1) #不需要点击
cv2.waitKey(0)#点击之后,才可以结束
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。