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利用ansible分发处理任务
Aug 04 Python
浅谈Python2获取中文文件名的编码问题
Jan 09 Python
如何在Django中设置定时任务的方法示例
Jan 18 Python
python实现电子产品商店
Feb 26 Python
三步实现Django Paginator分页的方法
Jun 11 Python
django获取from表单multiple-select的value和id的方法
Jul 19 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
Aug 05 Python
python两个_多个字典合并相加的实例代码
Dec 26 Python
关于Python turtle库使用时坐标的确定方法
Mar 19 Python
使用pth文件添加Python环境变量方式
May 26 Python
基于opencv的selenium滑动验证码的实现
Jul 24 Python
Python如何输出警告信息
Jul 30 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 动态执行带有参数的类方法
2009/04/10 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
分享一段PHP制作的中文拼音首字母工具类
2014/12/11 PHP
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
javascript之学会吝啬 精简代码
2010/04/25 Javascript
ajax 缓存 问题 requestheader
2010/08/01 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
JS正则表达式常见用法实例详解
2018/06/19 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
2019/08/01 Javascript
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python回调函数用法实例详解
2015/07/02 Python
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
python之文件读取一行一行的方法
2018/07/12 Python
详解flask表单提交的两种方式
2018/07/21 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
Python Web程序搭建简单的Web服务器
2019/07/31 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
2020/06/18 Python
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
监察建议书格式
2014/05/19 职场文书
总经理任命书范本
2014/06/05 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
SQLServer中exists和except用法介绍
2021/12/04 SQL Server
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python