python中显示图片和文字
python中显示图片和文字
这里的实现方法有两种:一种是python结合opencv实现;一种是python自带的matplot工具来实现的。
- python+opencv实现
- python+matplot实现
python+opencv实现
opencv实现主要就是利用opencv图像相关函数显示就可以了。在这里主要记录一下在图像中添加文字的部分。
==。python不是很熟,所以需要记录一下。
直接贴代码(这里只是部分代码,并不完整):
import cv2 as cvif args.print_results: with open(args.labels_file) as f: labels_df = pd.DataFrame([{'synset_id':l.strip().split(' ')[0], 'name': ' '.join(l.strip().split(' ')[1:]).split(',')[0]}for l in f.readlines()]) labels = labels_df.sort('synset_id')['name'].values count=0cv.namedWindow("googlenet_demo",1)#cv.resizeWindow("googlenet_demo",800,800)for im_file in glob.glob(args.input_file + '/*.' + args.ext): image=cv.imread(im_file)indices =(-scores[count]).argsort()[:5] predictions = labels[indices] meta = [(p, '%.5f' % scores[count][i]) for i,p in zip(indices, predictions)] metaa=meta[0]cv.putText(image, ('prediction top-5 result:') , (5,15), cv.FONT_HERSHEY_COMPLEX, 0.5, (0, 0, 255), 1, 8,0)cv.putText(image, ('%s %s' % metaa) , (7,30), cv.FONT_HERSHEY_COMPLEX, 0.5, (0, 0, 255), 1, 8,0) cv.imshow('googlenet_demo', image)print im_file, meta count += 1key = cv.waitKey() cv.destroyWindow('googlenet_demo')
主要实现的功能是将待识别的图像显示出来并在图片上加入分类的结果。
cv.putText()参数解释:
void cv::putText( cv::Mat& img, // 待绘制的图像 const string& text, // 待绘制的文字 cv::Point origin, // 文本框的左下角 int fontFace, // 字体 (如cv::FONT_HERSHEY_PLAIN) double fontScale, // 尺寸因子,值越大文字越大 cv::Scalar color, // 线条的颜色(RGB) int thickness = 1, // 线条宽度 int lineType = 8, // 线型(4邻域或8邻域,默认8邻域) bool bottomLeftOrigin = false // true='origin at lower left' );
该函数所支持的字体:
最终结果:
python+matplot实现
实现代码
if args.print_results: with open(args.labels_file) as f: labels_df = pd.DataFrame([{'synset_id':l.strip().split(' ')[0], 'name': ' '.join(l.strip().split(' ')[1:]).split(',')[0]}for l in f.readlines()]) labels = labels_df.sort('synset_id')['name'].values count=0for im_file in glob.glob(args.input_file + '/*.' + args.ext): image= mpimg.imread(im_file) indices =(-scores[count]).argsort()[:5] predictions = labels[indices] meta = [(p, '%.5f' % scores[count][i]) for i,p in zip(indices, predictions)] metaa =meta[0]plt.ion()plt.imshow(image)plt.text(5, 10, "prediction top-5 result:", size = 10, family = "fantasy", color = "r", style = "italic", weight = "light", bbox = dict(facecolor = "r", alpha = 0.2)) plt.text(10, 25, ('%s %s' % metaa), size = 10, family = "fantasy", color = "r", style = "italic", weight = "light")plt.show()plt.pause(5)plt.close()print im_file, meta count += 1
plt.text()参数解释:
# 第一个参数是x轴坐标
# 第二个参数是y轴坐标
# 第三个参数是要显式的内容
# alpha 设置字体的透明度
# family 设置字体
# size 设置字体的大小
# style 设置字体的风格
# wight 字体的粗细
# bbox 给字体添加框,alpha 设置框体的透明度, facecolor 设置框体的颜色
plt.text(-3, 20, "function: y = x * x", size = 15, alpha = 0.2)
plt.text(-3, 40, "function: y = x * x", size = 15, family = "fantasy", color = "r", style = "italic", weight = "light", bbox = dict(facecolor = "r", alpha = 0.2))
最终结果:
python中显示图片和文字相关推荐
- python opencv 内存泄露_解决python中显示图片的plt.imshow plt.show()内存泄漏问题
当要处理批量图片,且每张图片都要进行显示时,用plt.imshow() plt.show()会出现内存泄漏, 管理器中看到其中一个python进程的内存不断上涨,目前有找到解决方法 from matp ...
- python plt.show_解决python中显示图片的plt.imshow plt.show()内存泄漏问题
当要处理批量图片,且每张图片都要进行显示时,用plt.imshow() plt.show()会出现内存泄漏, 管理器中看到其中一个python进程的内存不断上涨,目前有找到解决方法 from matp ...
- 如何在Python中显示图片?
如何在Python中显示图片? 相信很多程序员都曾经因为要在Python中显示图片而苦恼过,毕竟图像处理是数据分析和人工智能领域中的重要一环.所以,今天我们就来介绍一下Python中显示图片的方法. ...
- python GUI 显示图片与文字
python GUI 显示图片与文字 from tkinter import * from PIL import Image, ImageTk import tkinter.font as tfroo ...
- pyqt 在Widgets中显示图片和文字
思路非常简单:<p>创建window,设置窗口大小,创建label1,导入图片,创建label2,导入文字,show,结束!</p> import sys from PyQt5 ...
- python显示文字框_在Python 中实现图片加框和加字的方法
第一步:安装opencv-python rpm -ivh opencn-python-2.4.5-3.el7.ppc64le.rpm 第二步:引用cv2 import cv2 第三步:读入图片,必须是 ...
- python截取图片的ROI+OpenCV 在坐标中显示图片+鼠标点击图片显示点坐标
又来做下笔记了.现在我的毕业设计进行到数据处理的阶段,要在乳腺图像上截取4张相同大小的1024*1024图片,并且每张图片都必须覆盖微钙化点,以下是我现在用到的一些简单程序. 1.首先是截图程序如下: ...
- Ubuntu中Python无法显示图片
Ubuntu中Python无法显示图片 显示错误是UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, ...
- Android - 文字中显示图片
Android TextView中显示图片的4种方式 转载于:https://www.cnblogs.com/qlky/p/7282658.html
最新文章
- 在idea中移除子模块Moudle后重新导入
- Service Manager 的系统要求
- 一位大神的Python数据分析与可视化笔记
- spring-boot注解详解(七)
- #undef 标识符
- node连接--MySQL
- 4.4_factory_method_创建型模式:工厂方法模式
- HDOJ--4548--美素数
- Unity 3D 特效学习记录
- php模拟post提交 在线,curl post请求 , postman 模拟请求 , 在线测试工具模拟请求...
- 张朝阳夜跑33公里:直播聊物理 揭示“超级月亮”成因
- 12306验证码识别V1.5
- 行业知识图谱调查报告(三):行业知识图谱应用及实践
- UE4数据库 Mysql
- 企业联合体的形式_企业联合体与垄断的初探
- 3d打开无法下载star.php,下载的3dmax模型打开失败的原因及解决方法
- [HNOI2019]鱼
- 怎么处理视频声音变声?视频声音变声处理软件哪个好?
- ICCV2021:Structure-Preserving Deraining with Residue Channel Prior Guidance
- NAT穿越(NAT-T)原理
热门文章
- InnoDB在RR隔离级别下解决幻读问题
- 第一性原理与“我思故我在”
- php怎么设置文字环绕图片,css文字环绕图片的方法
- Python界面编程第十一课:Pyside2 (Qt For Python)创建进度条
- 苹果电脑整个网页截图(windows电脑整个网页截图)
- 解决应用和功能列表中存在已卸载的程序
- python matplotlib 柱状图三个变量_Python 绘图,我只用 Matplotlib(三)—— 柱状图...
- 搭建OpenSTF手机设备管理平台
- 无法建立计算机809,Win7连接错误809怎么解决
- Java NIO 之Channel