python归一化改变图像大小_基于Python+PIL-Speed问题的图像强度归一化
我在业余时间处理一个小问题,包括分析通过显微镜获得的一些图像。它是一个到处都有东西的晶圆,最终我想做一个程序来检测某些材料何时出现。
不管怎样,第一步是将图像的强度标准化,因为镜头不会产生均匀的闪电。目前我使用的图像,没有任何东西,只有基板,作为背景,或参考,图像。我找到RGB的三个(强度)值中的最大值。from PIL import Image
from PIL import ImageDraw
rmax = 0;gmax = 0;bmax = 0;rmin = 300;gmin = 300;bmin = 300
im_old = Image.open("test_image.png")
im_back = Image.open("background.png")
maxx = im_old.size[0] #Import the size of the image
maxy = im_old.size[1]
im_new = Image.new("RGB", (maxx,maxy))
pixback = im_back.load()
for x in range(maxx):
for y in range(maxy):
if pixback[x,y][0] > rmax:
rmax = pixback[x,y][0]
if pixback[x,y][1] > gmax:
gmax = pixback[x,y][1]
if pixback[x,y][2] > bmax:
bmax = pixback[x,y][2]
pixnew = im_new.load()
pixold = im_old.load()
for x in range(maxx):
for y in range(maxy):
r = float(pixold[x,y][0]) / ( float(pixback[x,y][0])*rmax )
g = float(pixold[x,y][1]) / ( float(pixback[x,y][1])*gmax )
b = float(pixold[x,y][2]) / ( float(pixback[x,y][2])*bmax )
pixnew[x,y] = (r,g,b)
代码的第一部分确定了背景图像的红、绿、蓝通道的最大强度(逐像素),但只需要一次。
第二部分获取“真实”图像(上面有东西),并根据背景逐像素地对红、绿、蓝通道进行标准化。这需要一些时间,1280x960图像需要5-10秒,如果需要对多个图像执行此操作,则速度太慢。
如何提高速度?我想将所有图像移动到numpy数组中,但似乎找不到一种快速的方法来处理RGB图像。
我宁愿不离开Python,因为我的C++是相当低的,并且得到一个工作的FORTRAN代码可能要比我在速度方面节省的时间要长:P<
python归一化改变图像大小_基于Python+PIL-Speed问题的图像强度归一化相关推荐
- python人脸识别库_基于Python的face_recognition库实现人脸识别
Python Python开发 Python语言 基于Python的face_recognition库实现人脸识别 一.face_recognition库简介 face_recognition是Pyt ...
- python画素描画_基于python实现把图片转换成素描
这篇文章主要介绍了基于python实现把图片转换成素描,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导语: 你是否还在为当时年少时没有选择自己的梦 ...
- python电影推荐算法_基于Python的电影推荐算法
原标题:基于Python的电影推荐算法 第一步:收集和清洗数据 数据链接:https://grouplens.org/datasets/movielens/ 下载文件:ml-latest-small ...
- python深度神经网络量化_基于Python建立深度神经网络!你学会了嘛?
原标题:基于Python建立深度神经网络!你学会了嘛? 图1 神经网络构造的例子(符号说明:上标[l]表示与第l层:上标(i)表示第i个例子:下标i表示矢量第i项) 单层神经网络 图2 单层神经网络示 ...
- 用python做炒股软件-python程序源码_基于python的炒股软件
股票模拟交易系统设计与实现 不但能够进行界面的设计,还可以实现各个窗口的关联,通过WPF实现和其余窗口的关联,而且WPF中的类不但能够和其中一个窗口进行关联,还可以跟许多功能操作接口,WPF在对窗口对 ...
- python安装pyecharts清华_基于Python安装pyecharts所遇的问题及解决方法
最近学习到数据可视化内容,老师推荐安装pyecharts,于是pip install 了一下,结果...掉坑了,下面是我的跳坑经验,如果你有类似问题,希望对你有所帮助. 第一个坑: 这个不难理解,缺少 ...
- 基于python的性能测试工具_基于 Python 的性能测试工具 locust 与 LR 的简单对比[转发]...
背景 最近自己开发了一个小的接口,功能测完了,突然想测下性能,原来做性能测试,我一直用的是HP的LoadRunner,前一段时间正好看过locust,想想就用这个来测测性能吧. 由于对LR比较熟,正好 ...
- python音频实时频谱分析_基于python的音频设计及频谱分析
74 Internet Technology 互联网 + 技术 一.引言 WAV 是 Microsoft 开发的一种声音文件格式,虽然它支持多种压缩格式,但是它通常被用来保存未压缩的声音数据(PCM ...
- python实现离线翻译_基于python实现百度翻译功能
运行环境: python 3.6.0 今天处于练习的目的,就用 python 写了一个百度翻译,是如何做到的呢,其实呢就是拿到接口,通过这个接口去访问,不过中间确实是出现了点问题,不过都解决掉了 先晾 ...
最新文章
- thymeleaf+layui 展示table 报500
- 【leetcode】1018. Binary Prefix Divisible By 5
- mysql变量作用域,变量作用域 | 类型、变量和值 | JavaScript 权威指南
- 高温预警c语言,注意 | 高温预警来了!最高38°C!高温7连击!
- 启动一个线程是用run()还是start()?
- 辛苦了一个下午和晚上,给Blog换了个新皮肤
- form表单的一个页面多个上传按钮实例
- linux系统下的程序开发报告册,linux系统及应用应用开发实验报告册
- linux删除指定端口的进程
- 信号与槽是如何实现的_如何解决wifi信号不好,实现全面覆盖
- 靠打麻将赢来800万!开家烂店天天跟顾客对着干,年赚569亿!
- 书单丨被强化学习一次次伤害?本书单带你一步步入门!
- 如何在pe安装深度linux系统,深度系统(Deepin Linux)U盘安装教程
- 矩阵论理论知识(四)矩阵的分解
- 海伦公式的计算机表达,海伦公式之算法与程序框图
- “华为杯”山东理工大学第十一届ACM程序设计竞赛 E - 九连环
- Poc/Exp漏洞验证利用脚本编写
- Vue 仿淘宝购物车
- .flo光流文件转换为png图片
- 华为鸿蒙如何添加桌面小组件,万能小组件怎么添加到桌面上
热门文章
- python绝对导入_[编程基础] Python中的绝对导入与相对导入
- Oracle数据库迁移:异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7
- SQL Server 2008处理隐式数据类型转换在执行计划中的增强
- 分而治之:Oracle 18c 及 12.2 分区新特性的 N 种优化实践(含PPT)
- 云图说丨初识数据工坊DWR
- 移动计算云分布式数据缓存服务,实现快速可靠的跨区域多活复制
- 华为云企业级Redis:助力VMALL打造先进特征平台
- 我是一个请求,我该何去何从
- 看KubeEdge携手K8S,如何管理中国高速公路上的10万边缘节点
- 【鲲鹏来了】手把手教你在鲲鹏上使用编程语言——C语言