cv2 给图片加框框
## 导包
import cv2
import numpy as np
from PIL import Image, ImageDraw, ImageFont
## 读取图片
img = cv2.imread('12323.bmp',cv2.IMREAD_GRAYSCALE)
## 显示函数
def show(img):cv2.namedWindow('name',cv2.WINDOW_NORMAL)cv2.imshow('name',img)cv2.waitKey()cv2.destroyAllWindows()
## 画方框
def drawREC(point1,point2,textcolor):#cv2.rectangle(img,(x1, y1), (x2, y2), color, thickness, lineType, shift)#txt = '裂缝'cv2.rectangle(img,point1,point2,textcolor,3)#cv2.putText(img, txt, (2050,124), cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 0, 255), 2)
## 写入中文函数
(参考博文)
##由于textput不能使用汉字,使用此函数添加中文
def cv2AddChineseText(img, text, position, textColor=(0, 255, 0), textSize=30): if (isinstance(img, np.ndarray)): # 判断是否OpenCV图片类型img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))# 创建一个可以在给定图像上绘图的对象draw = ImageDraw.Draw(img)# 字体的格式fontStyle = ImageFont.truetype("simsun.ttc", textSize, encoding="utf-8")# 绘制文本draw.text(position, text, textColor, font=fontStyle)# 转换回OpenCV格式return cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
## 方框位置
a = np.array([[ 558, 811, 596, 851],[ 696, 804, 778, 884],[ 539, 912, 576, 956],[ 532, 722, 560, 749],[ 753, 947, 792, 965],[ 601, 640, 664, 702],[ 746, 986, 777, 1012],[ 556, 1014, 584, 1055],[ 812, 276, 877, 305],[ 553, 764, 599, 795],[ 680, 1023, 744, 1096]])b = np.array([4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4])
## 坐标变换(根据图片尺寸可选)
##图像变换坐标
a[:,0] = a[:,0] - 528
a[:,2] = a[:,2] - 528
a = a * (4096/1408)
a = a.round()
a = a.astype(int)
## 中文填入
for i in range(len(a)):point1 = (a[i][1],a[i][0])point2 = (a[i][3],a[i][2])if b[i] == 4:img=cv2AddChineseText(img,"***", (a[i][1],a[i][0]),(0, 255, 255), 30)drawREC(point1, point2,(255,255,0))if b[i] == 2:img=cv2AddChineseText(img,"***", (a[i][1],a[i][0]),(255, 255, 0), 30)drawREC(point1, point2,(0,255,255))if b[i] == 3:img=cv2AddChineseText(img,"***", (a[i][1],a[i][0]),(177, 255, 48), 30)drawREC(point1, point2,(48,255,177))if b[i] == 1:img=cv2AddChineseText(img,"***", (a[i][1],a[i][0]),(108, 200, 48), 30)drawREC(point1, point2,(48,200,108))
show(img)
## 保存图片
cv2.imwrite('7.png',img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
cv2 给图片加框框相关推荐
- PyQt5(一):加载图片画框框并保存
PyQt5(一):加载图片画框框并保存 环境 设计界面 重写QLabel 主函数 效果 参考 环境 Win10 PyCharm2019 社区版 PyQt5 Qt Designer 设计界面 使用Qt ...
- opencv给图片加中文水印
import cv2 import os import numpy as np from PIL import Image,ImageFont,ImageDraw#给图片加水印 def create_ ...
- 【Opencv】基于python-opencv的CV2实现图片OCR前的扫描摆正OCR识别【代码实现】
基于python-opencv的CV2实现图片OCR前的扫描摆正OCR识别[代码实现] 实验目的 代码实现 预处理(注意Resize图像) 轮廓检测(找到矩形) 透视变换(摆正图像) OCR识别文字 ...
- 第二节 opencv图片加水印
通过opencv对图片加水印 (对规格不一样的图片进行叠加,局部叠加) ROI确定图片叠加区域 对图片进行灰度处理–黑化–白化,效果如下: 详细代码如下: # -*- coding:utf-8 -*- ...
- 利用python实现深度学习生成对抗样本模型,为任一图片加扰动并恢复原像素的全流程记录
利用python实现深度学习生成对抗样本,为任一图片加扰动并恢复原像素 一.前言 (一)什么是深度学习 (二)什么是样本模型 (三)什么是对抗样本 1.对抗的目的 2.谁来对抗? 3.对抗的敌人是谁? ...
- 椒盐噪声及高斯噪声图片加噪python实现(附代码)
椒盐噪声及高斯噪声图片加噪python实现(附代码) 写在前面 这个博客会记录我最近学习的笔记,算是成长记录啦,如果有错误的地方还请指出,这也是学习的过程呀! 椒盐噪声 椒盐噪声又称为脉冲噪声,它是一 ...
- [opencv 从零开始 5 ] python 将图片加密解密,图片加隐藏水印,提取水印。
目录 python 将图片加密解密 原理 代码 效果 python 给图片添加隐藏水印 原理: 代码: 效果: python 将图片加密解密 原理 O代表原始图像,key代表密钥图像,c代表加密后图像 ...
- python显示文字框_在Python 中实现图片加框和加字的方法
第一步:安装opencv-python rpm -ivh opencn-python-2.4.5-3.el7.ppc64le.rpm 第二步:引用cv2 import cv2 第三步:读入图片,必须是 ...
- golang实现给图片加水印
2019独角兽企业重金招聘Python工程师标准>>> 最近跟在写golang图片加水印的方法,这里用的是一些基本的功能. package mainimport ("fmt ...
最新文章
- U3D 扩展方法 Dotween tolua
- wxWidgets:wxRegKey类用法
- linux apr文件解压失败,Apache编译安装提示configure: error: APR not found错误解决方法...
- mysql正则表达式配置_G. MySQL正则表达式
- 【数据库】Mysql的REPLACE()函数替换字符串
- Q93:PLY文件对应图形法向量反向问题——以bunny10K为例
- 无线通信原理与应用笔记
- 计算机系固态硬盘机械硬盘,固态硬盘和机械硬盘可以在一起使用吗?
- 关于mis系统思维导图
- [Qt] 使用LZMA SDK完成C++的7z格式文件压缩和解压缩
- 收藏 | 史上最详细的 Landsat 1-9 系列数据集介绍~
- vue开发网站seo优化方法
- 1.4 矩阵方程(第1章 线性代数中的线性方程组)
- matplotlib sinx cosx 图像
- elementUI 表格合并单元格-多层级-合并行
- 2001-2022年全国各城市风速数据(逐日、逐月、逐年)
- 百度网盘视频倍速播放
- Plant simulation16.0汽车总装车间仿真第二步:仿真模型搭建Part01——滑橇线物流输送
- 文件管理-Linux系统压缩打包
- Impinj及Accruent医疗合作推出医疗设备跟踪方案
热门文章
- 如何解决:ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
- Scratch编程与数学结合-蜗牛爬井问题
- 数据中心的等级 数据中心的分层
- Node.js文档和教程
- C/C++ 函数(最大公约数)
- 「游戏开发」游戏服务器端开发的一些经验
- 计算二维紧束缚模型费米面和nesting程序新思路
- 根据excel列动态创建mysql表_根据数据库字段动态生成excel模版下载,上传模版获取数据存入数据库(poi 反射)...
- 为啥不用美元作为IPFS体系的激励?
- 考华为云认证的必要条件、注意事项