计算机视觉:线段图形和文字图片的绘制
Posted il_持之以恒_li
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机视觉:线段图形和文字图片的绘制相关的知识,希望对你有一定的参考价值。
1. 线段的绘制
使用方法cv2.line()
最后这个shift参数小编不是很懂它的具体意思。
import cv2
import numpy as np
newImageInfo = (500,500,3) # 彩色图片,width、height均为500
dst = np.zeros(newImageInfo,np.uint8)
cv2.line(dst,(100,200),(400,200),(0,0,255))
cv2.line(dst,(100,100),(400,400),(0,0,255),5)
# 目标图片 起始位置 终止位置 线段颜色(b,g,r) 线条宽度
cv2.line(dst,(100,300),(400,300),(255,0,0),8,cv2.LINE_AA) # 线条光滑程度
cv2.imshow('dst',dst)
cv2.waitKey(0)
2. 图形的绘制
2.1 绘制矩形
最后一个参数-1代表填充整个矩形,如果这个参数大于等于0,代表矩形边框线条的粗细程度。
import cv2
import numpy as np
newImageInfo = (500,500,3)
dst = np.zeros(newImageInfo,np.uint8)
cv2.rectangle(dst,(50,100),(200,300),(255,0,0),-1)
cv2.rectangle(dst,(100,310),(200,450),(0,0,255),5)
cv2.imshow('dst',dst)
cv2.waitKey(0)
2.2 圆形的绘制
import cv2
import numpy as np
newImageInfo = (500,500,3)
dst = np.zeros(newImageInfo,np.uint8)
cv2.circle(dst,(250,250),(50),(255,0,0),-1)
cv2.circle(dst,(250,250),(100),(0,0,255),4)
cv2.imshow('dst',dst)
cv2.waitKey(0)
2.3 椭圆的绘制
import cv2
import numpy as np
newImageInfo = (520,520,3)
dst = np.zeros(newImageInfo,np.uint8)
cv2.ellipse(dst,(256,256),(150,100),0,0,360,(255,255,0),-1)
cv2.ellipse(dst,(256,256),(250,150),0,0,360,(0,255,0),4)
cv2.imshow('dst',dst)
cv2.waitKey(0)
3. 文字图片的绘制
import cv2
img = cv2.imread(filename='../anqila21.jpg',flags=1)
font = cv2.FONT_HERSHEY_PLAIN
cv2.putText(img,'she is anqila',(100,300),font,1,(200,100,255),2,cv2.LINE_AA) # 文字的绘制
# 字体内容、字的坐标,字体样式、字体大小,字体颜色、字体粗细
height = int(img.shape[0]*0.2)
width = int(img.shape[1]*0.2)
imgResize = cv2.resize(img,(width,height))
for i in range(height):
for j in range(width):
img[i,j] = imgResize[i,j]
cv2.imshow('dst',img)
cv2.waitKey(0)
以上是关于计算机视觉:线段图形和文字图片的绘制的主要内容,如果未能解决你的问题,请参考以下文章