c语言中系统函数设定像素,在imag中对每个像素应用自定义函数的快速方法
我正在寻找一种更快的方法来应用一个自定义函数到一个图像,我用来删除蓝色背景。我有一个函数可以计算出每个像素与背景中蓝色的距离。带有循环的原始代码如下所示:def dist_to_blue(pix):
rdist = 76 - pix[0]
gdist = 150 - pix[1]
bdist = 240 - pix[2]
return rdist*rdist + gdist*gdist + bdist*bdist
imgage.shape #outputs (576, 720, 3)
for i, row in enumerate(image):
for j, pix in enumerate(row):
if dist_to_blue(pix) < 12000: image[i,j] = [255,255,255]
然而,对于这个相对较小的图像,此代码需要大约8秒的时间来运行。我一直在尝试使用numpy的“vectorize”函数,但这会将该函数单独应用于每个值。但是我想做的每一个像素aka不扩展z/rgb维度
我提出的唯一改进是将for循环替换为以下内容:
m = np.apply_along_axis(lambda pix: (255,255,255) if dist_to_blue(pix) < 12000 else pix, 2, image)
只需7秒,速度仍然非常缓慢。有没有我遗漏的东西可以加快执行时间
c语言中系统函数设定像素,在imag中对每个像素应用自定义函数的快速方法相关推荐
- R语言计算平均值的标准误差(standard error of the mean):自定义函数计算平均值的标准误差、使用plotrix包的std.error函数计算平均值的标准误差
R语言计算平均值的标准误差(standard error of the mean):自定义函数计算平均值的标准误差.使用plotrix包的std.error函数计算平均值的标准误差 目录
- 函数指针--Nginx和Redis中两种回调函数写法
1.Nginx和Redis中两种回调函数写法 #include <stdio.h>//仿Nginx风格 //结构外声明函数指针类型 typedef void (*ngx_connectio ...
- MySQL自定义函数的使用及MySQL中的流程控制语句
MySQL自定义函数 文章目录 MySQL自定义函数 创建自定义函数 自定义函数的调用 自定义函数的删除 自定义函数的维护 流程控制语句 条件控制语句 循环语句 创建自定义函数 创建自定义函数时, 开 ...
- c语言自定义函数格式化,自定义函数的形式
c语言程序设计题:请用自定义函数的形式编程实现,代码: #include 请用自定义函数的形式编程实现 CSS布局HTML小编今天和大家分享 s = m. + n. + k.,m.n.k 从键盘输入( ...
- [C语言] 函数:库函数--自定义函数--函数的调用--练习--详解<个人>------(1)
文章目录 前言 一. 函数是什么? 二. C语言中函数的分类 三. 库函数 四. 自定义函数 五. 函数的调用 六. 练习 总结 前言 本节内容主要记录函数的相关内容,其中包括:库函数,自定义函数,函 ...
- matlab 调用函数本身,怎么在matlab自定义函数中再调用一个自定义函数?
Matlab自定义函数的七种方法1.函数文件+调用命令文件:需单独定义一个自定义函数的M文件.2.函数文件+子函数:定义一个具有多个自定义函数的M文件.3.Inline:无需M文件,直接定义.4.匿名 ...
- c语言函数详解1——自定义函数
这篇文章理论性知识比较多,不过对于初学者对于函数的理解会有更深层次的帮助 目录 c语言的函数--子程序 自定义函数 c语言的函数--子程序 *是大型程序中的某部分代码,由一个或者多个语句组成,她负责完 ...
- Python之系统函数、自定义函数、模块、递归合集
一.函数(function)引入 1.函数(计算机函数)是程序中一段相对独立的代码,这段代码能够实现某一项具有独立.完整的功能.指可以直接被另一段程序代码引用的程序代码. 2.函数分为系统函数和自定义 ...
- R语言ggplot2可视化分面图(faceting)、编写自定义函数将生成的分面图分裂成多个子图、并按照索引读取对应的可视化图像:Split facet plot into list of plots
R语言ggplot2可视化分面图(faceting.facet_wrap).编写自定义函数将生成的分面图(faceting)分裂成多个子图.并按照索引读取对应的可视化图像(Split facet pl ...
最新文章
- 特斯拉与Mobileye口水战的背后,是自动驾驶技术话语权之争
- 我2017年游泳特训安排
- 热转印法手工自制单面PCB流程和技巧总结
- Linux部署Apache ActiveMQ 5.14.1
- python程序运行原理_谈谈 Python 程序的运行原理
- android 翻转切换view,Android ViewFlipper翻转视图使用详解
- 树莓派 Learning 002 装机后的必要操作 --- 03 替换软件源
- hex2bin和bin2hex
- 因子分析模型 - Python 做因子分析简直比 SPSS 还简单 - ( Python、SPSS)
- 手把手教你安装Xposed框架+JustTrustMe抓取手机APP数据
- 研究生学术英语写作网课答案
- c语言 实验报告:分支结构程序设计
- 【pycharm】复制粘贴快捷键失效
- ISP模块之色彩增强算法--HSV空间Saturation通道调整
- Sentiment140数据集
- ORACLE数据库报错ORA-00910: specified length too long for its datatype
- GAMES101第四讲Transformation Cont.笔记
- python制作英语小词典_Python 爬虫:自制简易词典
- python编写仪表盘4
- 宁都中学2021高考成绩查询,燃爆了!宁都中学2021届学子高声呐喊……
热门文章
- 1000种对Java的响应没有死
- 如何在Jackson中使用PropertyNamingStrategy
- Hibernate懒/急加载示例
- 使用NoSQL实现实体服务–第3部分:CouchDB
- Spring JDBC数据库连接池设置
- Java枚举益智游戏
- Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务-Eclipse和Maven项目
- MacBook/MacOS如何写入MacBook特有的符号(例如:⌘/⌥/⎋/⇪)
- 聚合项目访问后台接口失败_聚合支付系统和免签支付系统对未来支付市场有哪些影响...
- 轨道运营管理专业自荐书_轨道运营管理专业自荐信x