Python填充任意颜色,不同算法时间差异分析说明


Posted in Python onMay 16, 2020

我就废话不多说了,大家还是直接看代码吧!

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")

# 为了可视化效果更好,使用函数 xlim() 和 ylim() 完成多边型在整个坐标轴中的相对位置调整(可自行删除对比效果)
plt.xlim(-1, 17)
plt.ylim(-1, 17)

# 使用 xticks() 和 yticks() 调整刻度线的显示位置
# np.arange(起始坐标,结束坐标,坐标间隔)
plt.xticks(np.arange(0, 16, 5))
plt.yticks(np.arange(0, 16, 5))

# 调用 show() 函数展示图形的绘制效果
plt.show()

Python填充任意颜色,不同算法时间差异分析说明

以上这篇Python填充任意颜色,不同算法时间差异分析说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用htmllib分析网页内容的方法
May 08 Python
python 时间戳与格式化时间的转化实现代码
Mar 23 Python
Python中functools模块的常用函数解析
Jun 30 Python
Django实现组合搜索的方法示例
Jan 23 Python
Python实现基于PIL和tesseract的验证码识别功能示例
Jul 11 Python
Python unittest单元测试框架总结
Sep 08 Python
python ipset管理 增删白名单的方法
Jan 14 Python
Python使用while循环花式打印乘法表
Jan 28 Python
使用python绘制二维图形示例
Nov 22 Python
解决 jupyter notebook 回车换两行问题
Apr 15 Python
什么是python类属性
Jun 10 Python
Python 匹配文本并在其上一行追加文本
May 11 Python
解决echarts中饼图标签重叠的问题
May 16 #Python
实现ECharts双Y轴左右刻度线一致的例子
May 16 #Python
在echarts中图例legend和坐标系grid实现左右布局实例
May 16 #Python
Python如何使用PIL Image制作GIF图片
May 16 #Python
pyecharts调整图例与各板块的位置间距实例
May 16 #Python
通过Python实现一个简单的html页面
May 16 #Python
Python批量处理csv并保存过程解析
May 16 #Python
You might like
PHP写日志的实现方法
2014/11/05 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
JS跨域代码片段
2012/08/30 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
JQuery的attr 与 val区别
2016/06/12 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
vue中引入第三方字体文件的方法示例
2018/12/17 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
Python星号*与**用法分析
2018/02/02 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
Python实现手绘图效果实例分享
2020/07/22 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
python基于openpyxl生成excel文件
2020/12/23 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
Amaze UI 文件选择域的示例代码
2020/08/26 HTML / CSS
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
水电工岗位职责
2014/02/12 职场文书
少年闰土教学反思
2014/02/22 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
党员十八大心得体会
2014/09/12 职场文书
北京天坛导游词
2015/02/12 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
公司借条范本
2015/05/25 职场文书
建议书的格式及范文
2015/09/14 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
Node.js实现断点续传
2021/06/23 Javascript