一个网站锚文本可以做几个,qq官方网站登录,做类似淘宝的网站需多少资金,房价2024年暴跌基本线条操作
OpenCV中提供了基本的线条的操作#xff0c;包括画直线、画矩形、画圆形等。
#xff08;1#xff09;画直线#xff0c;在OpenCV中利用line()画直线#xff0c;形式为image_with_line cv2.line(image, start_point, end_point, color, thickness)。line(…基本线条操作
OpenCV中提供了基本的线条的操作包括画直线、画矩形、画圆形等。
1画直线在OpenCV中利用line()画直线形式为image_with_line cv2.line(image, start_point, end_point, color, thickness)。line()中有5个参数其中第一个参数image是需要处理的图像第二个参数start_point是直线开始的像素点第三个参数end_point直线结束的像素点第四个参数color是直线的颜色第五个参数thickness是直线的宽度。
例如画一个宽度为6的斜绿色线条
import cv2
import numpy as npcanvasnp.zeros((200,200,3),dtypeuint8)
start_point(0,0)
end_point(200,200)color(0,255,0)
#绿色直线
thickness6
#图像宽度为6
image_with_line cv2.line(canvas, start_point, end_point, color, thickness)
cv2.imshow(image,image_with_line)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下所示 如运行结果所示在一块200×200的黑色画布上绘制了一条宽度为6的绿色斜线条。
2画圆形。OpenCV使用circle()函数画圆基本形式是image_with_circle cv2.circle(image, center_coordinates, radius, color, thickness)。circle()函数一共有五个参数其中第一个参数image是需要处理的图片第二个参数center_coordinates是圆的中心点第三个参数radius是圆的半径第四个参数color是圆的颜色第五个参数radius是圆的宽度。
例如画一个宽度为2像素、半径为100像素的蓝色圆形
import cv2
import numpy as npcanvasnp.zeros((200,200,3),dtypeuint8)
# 定义圆的中心坐标和半径
center_coordinates (100, 100)
radius 50# 定义圆边界线的颜色蓝色和粗细2像素
color (255, 0, 0)
thickness 2# 在图像上绘制圆形
image_circle cv2.circle(canvas, center_coordinates, radius, color, thickness)# 显示图像
cv2.imshow(image_circle, image_circle)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下所示 如果我们需要填充图形只需要将circle函数的内容设置为负数
thickness -1
image_circle cv2.circle(canvas, center_coordinates, radius, color, thickness)运行结果如下所示 可以看到当thickness设置为-1的时候改成成功画了一个满圆。
在OpenCV中可以进行很多有意思的操作例如利用随机数画圆
import cv2
import numpy as np
import randomcanvasnp.ones((400,400,3),dtypeuint8)*255
center(200,200)
thickness1
for i in range(255):radiusicolornp.random.randint(0,256,size(3,)).tolist() #颜色随机cv2.circle(canvas,center,radius,color,1)
cv2.imshow(different_color,canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下所示 可以看到OpenCV以中心点为圆形画了两百多个圆形成五彩的图像。
3画矩形。OpenCV使用rectangle()函数画矩形基本形式是v2.rectangle(img, pt1, pt2, color, thickness1, lineType8, shift0)。rectangle()函数一共有七个参数其中第一个参数img是需要操作图片第二个参数pt1是顶点的坐标第三个参数pt2是另一个顶点的坐标第四个参数color是矩阵的颜色第五个参数thickness表示矩阵线条的宽度默认值为1如果设置了负值如cv2.FILLED会绘制指定颜色的矩阵第六个参数lineType是线条的类型默认值为8这通常与cv2.LINE_AA、cv2.LINE_4等常量有关用于定义线条的连接类型第七个参数shift是坐标点的小数点位数默认值为0。
例如
import cv2
import numpy as np# 创建一个空白的图像单通道白色背景
image np.ones((500, 500, 3), dtypeuint8) * 255# 定义长方形的两个顶点坐标
pt1 (100, 100)
pt2 (400, 360)color (87, 134, 255) # BGR格式# 使用rectangle函数绘制长方形
thickness5
rectangle cv2.rectangle(image, pt1, pt2, color, thickness)# 显示图像
cv2.imshow(Rectangle, rectangle)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下所示 如上图所示画了一个粗细程度为5的长方形两个顶点为(100,100)和(400,300)。
同样如果thickness的值为负数的话那么该图形也为填充图形例如将上面的部分代码改为
color (40,206,72) # BGR格式
thickness-1
rectangle cv2.rectangle(image, pt1, pt2, color, thickness)运行结果如下所示 我们同样可以对于图片进行操作例如
import cv2
import numpy as npimagecv2.imread(rD:\Photo\1.jpeg)
# 定义长方形的两个顶点坐标
pt1 (80,32)
pt2 (400, 360)color (0,0,255) # BGR格式
thickness5
rectangle cv2.rectangle(image, pt1, pt2, color, thickness)# 显示图像
cv2.imshow(Rectangle, rectangle)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下所示 我们可以看利用长方形的操作将狗的头部成功的标记了出来该处理方式在实际应用的有一定的应用范围。
4绘制椭圆
在OpenCV中使用ellipse()函数绘制椭圆ellipse()函数的使用方式为ellipse cv2.ellipse(image, center, axes, angle, startAngle, endAngle, color, thickness)。第一个参数image是需要处理的图像第二个参数center表示的是中心点的坐标第三个参数axes是椭圆的旋转角度以度为单位第四个参数和第五个参数startAngle和endAngle定义椭圆弧段的范围如果是绘制完整椭圆这两个参数可以设置为0和360度第六个参数color设置椭圆弧或椭圆的颜色第七个参数thickness椭圆边缘线的粗细如果设置为负数则会填充椭圆第八个参数lineType是线条的类型默认为8第九个参数shift是坐标点的小数点位数通常保持默认值0。
例如
import cv2
import numpy as np# 创建一个空白的图像单通道白色背景
image np.ones((400, 400, 3), dtypeuint8) * 255
center (200, 200)
axes (200, 100)
angle 0
startAngle 0
endAngle 360
color (0, 120, 240)
thickness 2# 使用ellipse函数绘制椭圆
ellipse cv2.ellipse(image, center, axes, angle, startAngle, endAngle, color, thickness)cv2.imshow(Ellipse, ellipse)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下所示 上面这段代码是画一个类似于橙色的椭圆其中椭圆的长半轴为200短半轴100粗度为2。
当thickness为负数时那么则就是将椭圆进行填充。
color (100, 80, 120)
thickness-1ellipse cv2.ellipse(image, center, axes, angle, startAngle, endAngle, color, thickness)
运行结果如下所示 5绘制文本字符串
在OpenCV中putText()函数用于在图像上绘制文本字符串。putText()函数是OpenCV中专门用来在图像上添加文字的一个重要功能它允许开发者在图像中的指定位置放置文字信息基本形式是image_with_text cv2.putText(image, text, org, font, fontScale, color, thickness/lineType/bottomLeftOrigin)thickness、lineType、bottomLeftOrigin是可选择的。其中基本形式是第一个参数image表示是需要处理的图片第二个参数text是字符串的内容第三个参数org是文本字符串的起始点通常是一个形式的坐标点 (x,y)第四个参数font是字体类型可以可以使用内置字体第五个参数fontScaler表示的是字体比例因子表示字体大小的一个乘数第六个参数是color表示的是文本的颜色用BGR格式的三元组表示thickness表示的是线条的粗细程度如果是负数则会填充文本lineType表示的是线条的类型通常默认即可bottomLeftOrigin表示的是布尔值如果为真则文本的左下角是锚点否则默认为左上角是锚点。 注在OpenCV中的块应用一共有8中分别为 cv2.FONT_HERSHEY_SIMPLEX这是一种简单的字体适合用于需要清晰、简洁文本的场合。cv2.FONT_HERSHEY_PLAIN这种字体相对于SIMPLEX版本稍微复杂一些线条较为均匀。cv2.FONT_HERSHEY_DUPLEX这种字体比PLAIN字体更复杂有更多的细节。cv2.FONT_HERSHEY_COMPLEX这是一种更为复杂的字体适合用于需要一定装饰性的文本。cv2.FONT_HERSHEY_TRIPLEX这种字体比COMPLEX字体还要复杂线条和装饰更多。cv2.FONT_HERSHEY_COMPLEX_SMALL这是一种较小的复杂字体适合空间有限的场合。cv2.FONT_HERSHEY_SCRIPT_SIMPLEX这种字体类似于手写体给人一种自然流畅的感觉。cv2.FONT_HERSHEY_SCRIPT_COMPLEX这是一种复杂的手写体风格字体适合用于需要艺术感的文本。 例如
import cv2
import numpy as npimage np.ones((300, 300, 3), dtypeuint8) * 255textHello World
org(75, 150)
fontcv2.FONT_HERSHEY_DUPLEX
fontScale1
color(255,0,255)
thickness2# 使用putText函数绘制文本
image_text cv2.putText(image, text, org, font, fontScale, color, thickness)# 显示图像
cv2.imshow(image_text, image_text)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下所示 可以看到上图是一个紫色的Hello World注意在OpenCV中不能使用中文OpenCV不支持中文。
在比如我们在
import cv2
import numpy as npimagecv2.imread(rD:\Photo\1.jpeg)
textThis is a dog
org(40, 50)
fontcv2.FONT_HERSHEY_COMPLEX
fontScale2
color(0,0,255)
thickness2# 使用putText函数绘制文本
image_text cv2.putText(image, text, org, font, fontScale, color, thickness)# 显示图像
cv2.imshow(image_text, image_text)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下所示 在OpenCV中可以利用其中原理完成很多有意思的操作各位可以自己进行操作。