我在业余时间处理一个小问题,包括分析通过显微镜获得的一些图像。它是一个到处都有东西的晶圆,最终我想做一个程序来检测某些材料何时出现。

不管怎样,第一步是将图像的强度标准化,因为镜头不会产生均匀的闪电。目前我使用的图像,没有任何东西,只有基板,作为背景,或参考,图像。我找到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问题的图像强度归一化相关推荐

  1. python人脸识别库_基于Python的face_recognition库实现人脸识别

    Python Python开发 Python语言 基于Python的face_recognition库实现人脸识别 一.face_recognition库简介 face_recognition是Pyt ...

  2. python画素描画_基于python实现把图片转换成素描

    这篇文章主要介绍了基于python实现把图片转换成素描,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导语: 你是否还在为当时年少时没有选择自己的梦 ...

  3. python电影推荐算法_基于Python的电影推荐算法

    原标题:基于Python的电影推荐算法 第一步:收集和清洗数据 数据链接:https://grouplens.org/datasets/movielens/ 下载文件:ml-latest-small ...

  4. python深度神经网络量化_基于Python建立深度神经网络!你学会了嘛?

    原标题:基于Python建立深度神经网络!你学会了嘛? 图1 神经网络构造的例子(符号说明:上标[l]表示与第l层:上标(i)表示第i个例子:下标i表示矢量第i项) 单层神经网络 图2 单层神经网络示 ...

  5. 用python做炒股软件-python程序源码_基于python的炒股软件

    股票模拟交易系统设计与实现 不但能够进行界面的设计,还可以实现各个窗口的关联,通过WPF实现和其余窗口的关联,而且WPF中的类不但能够和其中一个窗口进行关联,还可以跟许多功能操作接口,WPF在对窗口对 ...

  6. python安装pyecharts清华_基于Python安装pyecharts所遇的问题及解决方法

    最近学习到数据可视化内容,老师推荐安装pyecharts,于是pip install 了一下,结果...掉坑了,下面是我的跳坑经验,如果你有类似问题,希望对你有所帮助. 第一个坑: 这个不难理解,缺少 ...

  7. 基于python的性能测试工具_基于 Python 的性能测试工具 locust 与 LR 的简单对比[转发]...

    背景 最近自己开发了一个小的接口,功能测完了,突然想测下性能,原来做性能测试,我一直用的是HP的LoadRunner,前一段时间正好看过locust,想想就用这个来测测性能吧. 由于对LR比较熟,正好 ...

  8. python音频实时频谱分析_基于python的音频设计及频谱分析

    74 Internet Technology 互联网 + 技术 一.引言 WAV 是 Microsoft 开发的一种声音文件格式,虽然它支持多种压缩格式,但是它通常被用来保存未压缩的声音数据(PCM ...

  9. python实现离线翻译_基于python实现百度翻译功能

    运行环境: python 3.6.0 今天处于练习的目的,就用 python 写了一个百度翻译,是如何做到的呢,其实呢就是拿到接口,通过这个接口去访问,不过中间确实是出现了点问题,不过都解决掉了 先晾 ...

最新文章

  1. thymeleaf+layui 展示table 报500
  2. 【leetcode】1018. Binary Prefix Divisible By 5
  3. mysql变量作用域,变量作用域 | 类型、变量和值 | JavaScript 权威指南
  4. 高温预警c语言,注意 | 高温预警来了!最高38°C!高温7连击!
  5. 启动一个线程是用run()还是start()?
  6. 辛苦了一个下午和晚上,给Blog换了个新皮肤
  7. form表单的一个页面多个上传按钮实例
  8. linux系统下的程序开发报告册,linux系统及应用应用开发实验报告册
  9. linux删除指定端口的进程
  10. 信号与槽是如何实现的_如何解决wifi信号不好,实现全面覆盖
  11. 靠打麻将赢来800万!开家烂店天天跟顾客对着干,年赚569亿!
  12. 书单丨被强化学习一次次伤害?本书单带你一步步入门!
  13. 如何在pe安装深度linux系统,深度系统(Deepin Linux)U盘安装教程
  14. 矩阵论理论知识(四)矩阵的分解
  15. 海伦公式的计算机表达,海伦公式之算法与程序框图
  16. “华为杯”山东理工大学第十一届ACM程序设计竞赛 E - 九连环
  17. Poc/Exp漏洞验证利用脚本编写
  18. Vue 仿淘宝购物车
  19. .flo光流文件转换为png图片
  20. 华为鸿蒙如何添加桌面小组件,万能小组件怎么添加到桌面上

热门文章

  1. python绝对导入_[编程基础] Python中的绝对导入与相对导入
  2. Oracle数据库迁移:异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7
  3. SQL Server 2008处理隐式数据类型转换在执行计划中的增强
  4. 分而治之:Oracle 18c 及 12.2 分区新特性的 N 种优化实践(含PPT)
  5. 云图说丨初识数据工坊DWR
  6. 移动计算云分布式数据缓存服务,实现快速可靠的跨区域多活复制
  7. 华为云企业级Redis:助力VMALL打造先进特征平台
  8. 我是一个请求,我该何去何从
  9. 看KubeEdge携手K8S,如何管理中国高速公路上的10万边缘节点
  10. 【鲲鹏来了】手把手教你在鲲鹏上使用编程语言——C语言