opencv读取图片cv2格式转换
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.")returnstatus = Trueidx = 0while 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 += 1print("%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)#点击之后,才可以结束
opencv读取图片cv2格式转换相关推荐
- python工具包读取图片及格式转换
关于python怎么读取文件,一直没搞清楚,最近使用tensorboard,搞明白了 1导包和设置图片位置 from PIL import Image from torch.utils.tensorb ...
- opencv读取图片HWC转CHW
Opencv读取图片HWC转CHW 在读取图片时,一般可采取PIL或cv2实现,但是二者读取得到的数据格式有些不同. 对于给定的RGB图片,当使用PIL加载图片时,可将其直接转换为[C,H,W]的te ...
- 【上】带你玩转人脸识别--读取图片,灰度转换,尺寸修改,绘制矩形快速入门
文章目录 前 言 安 装 OpenCV 导入模块 1.读取图片 (imread,imshow) 2.灰度转换 (cvtColor) 3.尺寸修改 (resize) 4.矩形.圆形的绘制 (rectan ...
- Python 技术篇-使用opencv读取图片实例演示,python安装opencv库
安装非常简单,只需要pip install opencv-python就好了. 下面展示用 opencv 读取一张图片,并展示. #!/user/bin/env python # -*- coding ...
- DALSA线阵CCD相机开发 之 opencv读取图片
SDK的下载 Sapera_LT_8.31_SDK 百度网盘下载地址:链接:密码:ckm7. SDK的安装 解压运行.exe文件,按照提示确定,下一步即可. 帮助文档和demo 如果要获得完整的帮助文 ...
- OpenCV读取图片顺序
遇到一个问题,读取的图片颜色一直偏紫色,后来知道是因为OpenCv读取图片的顺序是BGR. import cv2 import matplotlib.pyplot as pltimg = cv2.im ...
- python下Opencv读取图片
python下Opencv读取图片 import cv2 #cv2.imread默认读入模式是1,表彩色:0表示灰色 im = cv2.imread('images/1039.jpg') #注意这里的 ...
- Python学习(1)OpenCV读取图片
Python学习(1)OpenCV读取图片 前言 一. Python准备 二. Python仿真 三. 仿真结果 四. 小结 前言 随着人工智能研究的不断兴起,Python的应用也在不断上升,由于Py ...
- opencv读取图片失败
遇到一个问题,无论如何设置路径,总是无法读取到指定的图片.后来仔细修改发现问题所在,原因就在于opencv的配置问题.在调试的时候,程序需要的dll是以d结尾的,但是配置的时候可能release和de ...
最新文章
- 斯坦福大学机器学习课程资料-吴恩达老师主讲(2008版)
- Ubuntu18.04更换为国内源
- Kubernetes:全面了解 Deployment
- strcpy、memcpy和memset的区别
- 掌握Java编程思想,学好Java只需要三步?网友:真的吗?
- Docker精华问答 | Docker镜像和Docker容器的关系?
- 信息安全工程师笔记-云计算安全需求分析与安全保护工程
- python3中filter、map、reduce、apply、zip函数用法总结
- 如何在 Mac 上修改鼠标指针颜色?
- adguard自定义_搭建AdGuard Home自定义dns,实现全设备拦截广告的目的
- 457.环形数组循环
- FusionChartsFree在JSP中的用法
- 怎么卸载脚手架_安装卸载流程 · 广联达BIM模板脚手架设计软件帮助文档 · 看云...
- 韦根协议——STM32收发
- 基于Web的教学网站前端开发设计 报告+任务书+html源码
- M1 Mac无法读取NTFS格式硬盘里的内容应该怎样操作?
- 华为的云计算转型:逼出来的开放
- 诚挚地希望你加入2018年第三届中国新媒体千人峰会!
- 子比主题最新6.8开心版
- Dart vs Swift
热门文章
- threejs 绘制地球、飞机、轨迹
- 舆情标注是什么意思?企业舆情标签分类
- 网易云词云python_Python3爬取网易云音乐评论制作词云!网易云评论人才辈出啊!...
- python微信红包_python 微信红包
- 笔记本电脑打字母出数字该怎么办
- 形态学空间格局分析(MSPA)——Arcmap结合GuidosToolbox(以分析森林景观为例)
- 解决C++调用Python中文乱码
- Allegro 从导入dxf文件中绘制outline板框的技巧
- Velocity介绍- -
- jQuery无法获取隐藏元素(display:none)宽度(width)和高度(height)的新解决方案