首页 > 编程语言 >python图像中如何 绘制矩形,编辑文案,保存结果图片等操作

python图像中如何 绘制矩形,编辑文案,保存结果图片等操作

时间:2023-11-30 15:02:08浏览次数:39  
标签:200 python image 255 color 矩形 cv rectangle 文案

python版opencv函数学习笔记-cv.rectangle()全参数理解

cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None )

以下来自官方文档和自己的理解

  • img:指定一张图片,在这张图片的基础上进行绘制;
  • pt1: 矩形的一个顶点;
  • pt2: 与pt1在对角线上相对的矩形的顶点;

 

  • 注意:pt1和pt2并不严格代表着左上角和右上角的点,可以互换的。

color:指定边框的颜色,由(B,G,R)组成,当为(255,0,0)时为绿色,可以自由设定;

  • thinkness:线条的粗细值,为正值时代表线条的粗细(以像素为单位),为负值时边框实心;
  • lineType :关于选择线条生成算法的。详见:http://t.csdn.cn/HjDK6
  • shift :

    作用(根据效果图的个人理解):对点坐标进行左移的位运算,即对点坐标除以(2^shift)

    参数范围:shift>=0
    该参数示范代码(函数中最后一个参数为shift):
    两个角点分别为(200,200),(0,0)

代码:

import cv2 as cv
 
#image = np.zeros((512,512,3),dtype=np.uint8)
#读取某个路径下的图片
image_path="E:\\Test\\SourceImage\\test.png"
img = cv.imread(image_path)

#指定颜色 cv.rectangle(image, (200,200), (0,0), (0,0,255), 1, cv.LINE_8, 3)#红 cv.rectangle(image, (200,200), (0,0), (0,255,0), 1, cv.LINE_8, 2)#绿 cv.rectangle(image, (200,200), (0,0), (255,0,0), 1, cv.LINE_8, 1)#蓝 cv.rectangle(image, (200,200), (0,0), (0,255,255), 1, cv.LINE_8, 0)#黄 #设置随机颜色 color_r = 0 color_g = random.randint(100, 255) color_b = random.randint(100, 255) # draw box,颜色随机 cv.rectangle(image, first_point, last_point, (color_r, color_g, color_b), 2) #在图片上添加文字(cv.putText()) text_value="TestData" font_size=3  if font_size <= 1:    cv.putText(img, text_value, (xmin, ymin+ 10), cv.FONT_HERSHEY_PLAIN, font_size,(color_r, color_g, color_b), 1)   else:    cv.putText(img, text_value, (xmin, ymin + 25), cv.FONT_HERSHEY_PLAIN, font_size,(color_r, color_g, color_b), 3) #把绘制好的图片保存到某个路径下: new_img_path="E:\\Test\Data\Image" cv.imwrite(new_img_path, img) #查看是否读取成功 cv.imshow("image", image)#显示图片 cv.waitKey(0) cv.destroyAllWindows()

 

  

标签:200,python,image,255,color,矩形,cv,rectangle,文案
From: https://www.cnblogs.com/pingguomang/p/17867373.html

相关文章

  • 【5.0】Python面向对象之组合
    【一】什么是组合在一个类中以另外一个类的对象作为数据属性,称为类的组合。【二】组合的使用组合与继承都是用来解决代码的重用性问题。不同的是:继承是一种“是”的关系,比如老师是人、学生是人,当类之间有很多相同的之处,应该使用继承;而组合则是一种“有”的关系,比如老......
  • 【8.0】Python面向对象之反射
    【一】反射【1】什么是反射反射是一种程序可以访问、检测和修改其本身状态或行为的能力。在Python中,反射主要指通过字符串的形式操作对象的属性。【2】Python中的反射通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射)【二】反射方法......
  • 【7.0】Python面向对象之绑定方法与非绑定方法
    【一】绑定方法与非绑定方法介绍【1】绑定方法绑定给谁,谁来调用就自动将它本身当作第一个参数传入(1)绑定到类的方法用classmethod装饰器装饰的方法。为类量身定制类.boud_method(),自动将类当作第一个参数传入(其实对象也可调用,但仍将类当作第一个参数传入)(2)绑定......
  • 【补】Python中关于OOP的常用术语
    【一】抽象与实现【1】抽象抽象是一种概念或思维工具,用于简化复杂的问题并将其分解为易于管理的部分。抽象可以帮助我们理解事物的本质和行为,同时也可以帮助我们在设计软件时更好地组织代码和数据结构。【2】实现实现则是对抽象的一种具体表达。它是对抽象的概念或模型进......
  • [python] 基于Tablib库处理表格数据
    Tablib是一个用于处理电子表格(如Excel,CSV,JSON)的Python库。它提供了一种简单而强大的方式来操作和处理数据。利用Tablib,我们可以轻松地读取、写入、过滤和转换各种类型的电子表格数据。Tablib具有一致且易于使用的API,以在不同的数据格式之间进行无缝转换。比如,Tablib可以将数据......
  • Python爬取某电商平台商品数据及评论!
    前言随着互联网的发展,电商平台的出现让我们的消费更加便利,消费者可以在家里轻松地购买到各种商品。但有时候我们需要大量的商品数据进行分析,或者需要了解其他消费者的评价,这时候我们可以通过爬虫来获取数据。本文将介绍如何使用Python爬取某电商平台的商品数据及评论,并且用到代理ip......
  • Python学习之十二_tkinter的学习与使用
    Python学习之十二_tkinter的学习与使用摘要本来想说会用QT5进行界面编程但是发现比较繁琐还是先学习使用tkinter的方式进行界面化的编写和学习了基础知识tkinter是一个源码开放的图形用户接口开发工具,具备跨平台的特性Python默认的GUI开发模块是tkinter(在Python3以前的版本中......
  • Python中导入包和模块
    一、模块含义在前面的几个章节中我们基本上是用python解释器来编程,如果你从Python解释器退出再进入,那么你定义的所有的方法和变量就都消失了。为此Python提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。模块是一个包含所......
  • [python] 基于Tablib库处理表格数据
    Tablib是一个用于处理电子表格(如Excel,CSV,JSON)的Python库。它提供了一种简单而强大的方式来操作和处理数据。利用Tablib,我们可以轻松地读取、写入、过滤和转换各种类型的电子表格数据。Tablib具有一致且易于使用的API,以在不同的数据格式之间进行无缝转换。比如,Tablib可以将数据......
  • Python中命名空间及作用域
    一、命名空间命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通过Python字典来实现的。命名空间提供了在项目中避免名字冲突的一种方法。各个命名空间是独立的,没有任何关系的,所以一个命名空间中不能有重名,但不同的命名空间是可以重名而没有任何影响。我们举一......