当前位置: 首页> 健康> 知识 > 水平型b2b网站有哪些_深圳市房产管理局官方网站_企业网站优化技巧_亚马逊关键词优化软件

水平型b2b网站有哪些_深圳市房产管理局官方网站_企业网站优化技巧_亚马逊关键词优化软件

时间:2025/7/18 16:39:40来源:https://blog.csdn.net/weixin_52243202/article/details/145064262 浏览次数:0次
水平型b2b网站有哪些_深圳市房产管理局官方网站_企业网站优化技巧_亚马逊关键词优化软件

文章目录

    • 画直线
    • 画圆
    • 画矩形
    • 画多边形
    • 文字绘制
    • 画板

本部分图形绘制

本节内容比较简单 直接上代码

画直线

import cv2 
import numpy as np## 本节画直线## line 参数介绍 
## image 在那个图像上面 画线
##  开始点借宿点 指定先的开始和结束的位置
## 颜色 线宽 线性
## shift 坐标轴缩放比例image =np.zeros((480,640,3),np.uint8)cv2.line(image,(10,10),(300,400),(0,0,255),5,4)cv2.imshow("demo",image)cv2.waitKey(0)

在这里插入图片描述

画圆

import cv2
import numpy as np# 创建一个黑色的图像
image = np.zeros((500, 500, 3), dtype=np.uint8)# 椭圆的中心坐标 (x, y)
center = (250, 250)# 椭圆的长轴和短轴半径
axes = (200, 100)# 椭圆的旋转角度(以度为单位)
angle = 0# 椭圆的开始角度和结束角度(以度为单位),0到360度表示完整的椭圆
start_angle = 0
end_angle = 360# 椭圆的颜色 (B, G, R) 和线型
color = (0, 255, 0)  # 绿色
thickness = 2  # 线宽# 使用 cv2.ellipse 函数绘制椭圆
cv2.ellipse(image, center, axes, angle, start_angle, end_angle, color, thickness)# 显示图像
cv2.imshow('Ellipse', image)# 等待按键事件然后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

画矩形

import cv2
import numpy as np# 创建一个黑色的图像
image = np.zeros((500, 500, 3), dtype=np.uint8)# 矩形的左上角坐标 (x1, y1) 和右下角坐标 (x2, y2)
top_left_corner = (50, 50)
bottom_right_corner = (450, 450)# 矩形的颜色 (B, G, R) 和线型
color = (0, 0, 255)  # 红色
thickness = 2  # 线宽# 使用 cv2.rectangle 函数绘制矩形
cv2.rectangle(image, top_left_corner, bottom_right_corner, color, thickness)# 显示图像
cv2.imshow('Rectangle', image)# 等待按键事件然后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

画多边形

#绘制多边形import cv2
import numpy as np# 创建一个黑色的图像
image = np.zeros((500, 500, 3), dtype=np.uint8)# 六边形的中心坐标和半径
center = (250, 250)
radius = 100# 计算六边形的顶点(每60度一个顶点)
angles = np.linspace(0, 2 * np.pi, 7, endpoint=False)
vertices = np.round(np.vstack([radius * np.cos(angles) + center[0], radius * np.sin(angles) + center[1]]).T).astype(int)# 将顶点转换为适合polylines的格式:[N, 1, 2],其中N是点的数量
vertices = [vertices.reshape((-1, 1, 2))]# 六边形的颜色 (B, G, R) 和线型
color = (0, 255, 0)  # 绿色
thickness = 2  # 线宽
isClosed = True  # 表示多边形是闭合的# 使用 cv2.polylines 函数绘制六边形
cv2.polylines(image, vertices, isClosed, color, thickness)# 添加注释文本
font = cv2.FONT_HERSHEY_SIMPLEX
font_scale = 0.5
color_text = (255, 255, 255)  # 白色文本
thickness_text = 1# 在图像上添加文本注释
cv2.putText(image, 'Hexagon', (center[0] - 20, center[1] - 20), font, font_scale, color_text, thickness_text, cv2.LINE_AA)# 显示图像
cv2.imshow('Hexagon', image)# 等待按键事件然后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

文字绘制

import cv2
import numpy as np# 创建一个空白的图像(例如,黑色背景)
image_width, image_height = 800, 600  # 你可以根据需要调整大小
image = np.zeros((image_height, image_width, 3), dtype=np.uint8)  # 3通道用于彩色图像# 要绘制的文本
text = "MAN what can i say"# 设置文本参数
font = cv2.FONT_HERSHEY_SIMPLEX  # 字体类型
font_scale = 1.5  # 字体大小比例,可以根据需要调整
thickness = 2  # 文本线条粗细
color = (255, 255, 255)  # 白色文本# 获取文本的边界框大小(宽度和高度)
(text_width, text_height), baseline = cv2.getTextSize(text, font, font_scale, thickness)# 计算文本在图像中心的位置
# 注意:getTextSize返回的是文本的底部边界,所以我们需要从中心高度中减去文本高度的一半再加上基线偏移
center_x = image_width // 2
center_y = image_height // 2 + text_height // 2 - baseline# 在图像中心绘制文本
cv2.putText(image, text, (center_x - text_width // 2, center_y), font, font_scale, color, thickness, cv2.LINE_AA)# 显示图像
cv2.imshow('Text in Center', image)
cv2.waitKey(0)  # 等待按键
cv2.destroyAllWindows()  # 关闭窗口

在这里插入图片描述

画板

import cv2
import numpy as np# 初始化一个空白的图像(黑色背景)
image_width, image_height = 800, 600
image = np.zeros((image_height, image_width, 3), dtype=np.uint8)
trajectory = []  # 存储鼠标移动的轨迹点
drawing = False  # 标记是否正在绘图# 鼠标回调函数
def draw_line(event, x, y, flags, param):global drawing, trajectoryif event == cv2.EVENT_MOUSEMOVE:if drawing:trajectory.append((x, y))  # 添加当前点到轨迹列表中elif event == cv2.EVENT_LBUTTONDOWN:drawing = Truetrajectory.clear()  # 清空轨迹列表trajectory.append((x, y))  # 添加起始点到轨迹列表中elif event == cv2.EVENT_LBUTTONUP:drawing = False# 创建窗口并设置鼠标回调函数
cv2.namedWindow('Drawing Board')
cv2.setMouseCallback('Drawing Board', draw_line)# 显示循环
while True:# 清空图像(每次循环都重新绘制轨迹)image.fill(0)print("111111111111111")# 如果正在绘图且有轨迹点,则绘制轨迹if drawing and trajectory:for i in range(1, len(trajectory)):x1, y1 = trajectory[i-1]x2, y2 = trajectory[i]cv2.line(image, (x1, y1), (x2, y2), (255, 255, 255), 5)  # 白色线条,线宽为5print("222222")# 显示当前图像cv2.imshow('Drawing Board', image)print("3333333")# 检查是否按下ESC键以退出循环if cv2.waitKey(1) & 0xFF == 27:break# 释放窗口并销毁所有OpenCV窗口
cv2.destroyAllWindows()

在这里插入图片描述

关键字:水平型b2b网站有哪些_深圳市房产管理局官方网站_企业网站优化技巧_亚马逊关键词优化软件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: