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 相关文章推荐
在Django中创建第一个静态视图
Jul 15 Python
python 实现删除文件或文件夹实例详解
Dec 04 Python
Python的mysql数据库的更新如何实现
Jul 31 Python
python3 实现对图片进行局部切割的方法
Dec 05 Python
django foreignkey外键使用的例子 相当于left join
Aug 06 Python
对Django中内置的User模型实例详解
Aug 16 Python
浅谈Python 递归算法指归
Aug 22 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
python程序输出无内容的解决方式
Apr 09 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
Apr 21 Python
Python 调用 ES、Solr、Phoenix的示例代码
Nov 23 Python
python爬虫智能翻页批量下载文件的实例详解
Feb 02 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
ThinkPHP路由详解
2015/07/27 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
JavaScript实现禁止后退的方法
2006/12/27 Javascript
告诉大家什么是JSON
2008/06/10 Javascript
新浪微博字数统计 textarea字数统计实现代码
2011/08/28 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
2013/10/11 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
微信JS接口大全
2016/08/25 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
python:socket传输大文件示例
2017/01/18 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
Python流程控制 if else实现解析
2019/09/02 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
Python线程指南分享
2019/11/19 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
网络工程系信息安全技术专业大学生求职信
2013/10/22 职场文书
优质服务标语口号
2015/12/26 职场文书
六年级作文之自救
2019/12/19 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
gateway网关接口请求的校验方式
2021/07/15 Java/Android
用Python可视化新冠疫情数据
2022/01/18 Python