没有合适的资源?快使用搜索试试~ 我知道了~
我就废话不多说了,大家还是直接看代码吧! import time import numpy as np import cv2 #方法一 start = time.time() for i in range(1000): canvas = np.zeros((1080,1920,3), np.uint8) canvas[:,:,0] = 113 canvas[:,:,1] = 207 canvas[:,:,2] = 250 end = time.time() print ("方法一(切片赋值)时间:",end-start) cv2.imwrite("test1.png",canvas)
资源推荐
资源详情
资源评论
Python填充任意颜色填充任意颜色,不同算法时间差异分析说明不同算法时间差异分析说明
我就废话不多说了,大家还是直接看代码吧!
import time
import numpy as np
import cv2
#方法一
start = time.time()
for i in range(1000):
canvas = np.zeros((1080,1920,3), np.uint8)
canvas[:,:,0] = 113
canvas[:,:,1] = 207
canvas[:,:,2] = 250
end = time.time()
print ("方法一(切片赋值)时间:",end-start)
cv2.imwrite("test1.png",canvas)
#方法二
start = time.time()
for i in range(1000):
canvas = np.zeros((1080,1920,3), np.uint8)
cv2.rectangle(canvas, (0, 0), (1920, 1080), (113,207,250), thickness=-1)
end = time.time()
print ("方法二(Opencv颜色填充)时间:",end-start)
cv2.imwrite("test2.png",canvas)
#方法三
start = time.time()
for i in range(1000):
canvas = np.ones([1080,1920,3])*[113,207,250] end = time.time()
print ("方法三(矩阵乘法)时间:",end-start)
cv2.imwrite("test3.png",canvas)
# #方法四
start = time.time()
for i in range(1000):
canvas = np.zeros((1080,1920,3), np.uint8)
for i in range(1080):
for j in range(1920):
canvas[i][j] = [113,207,250] end = time.time()
print ("方法四(循环遍历赋值)时间:",end-start)
cv2.imwrite("test4.png",canvas)
结果结果
方法一(切片赋值)时间: 6.554100275039673
方法二(Opencv颜色填充)时间: 3.6737191677093506
方法三(矩阵乘法)时间: 74.28376317024231
方法四(循环遍历赋值)时间: 3245.07548809051504
补充知识:补充知识:规则多边形颜色填充(规则多边形颜色填充(Python))
以规则八边型为例:
import matplotlib.pyplot as plt
import numpy as np
# 设置八边形顶点坐标
x = [0, 0, 5, 10, 15, 15, 10, 5] y = [5, 10, 15, 15, 10, 5, 0, 0]
# 通过调用 fill() 函数 完成绘制八边形
# 参数 x 和 y 是用来绘制封闭区域顶点的有序坐标集
# 参数 color 用来指定封闭区域的填充颜色
plt.fill(x, y, color="green")
资源评论
weixin_38535812
- 粉丝: 5
- 资源: 986
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功