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