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

不管怎样,第一步是将图像的强度标准化,因为镜头不会产生均匀的闪电。目前我使用的图像,没有任何东西,只有基板,作为背景,或参考,图像。我找到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. 高级程序设计 c语言 在线作业,[北京师范大学]19秋《高级程序设计(C)》离线作业(资料)...
  2. 如何在Windows 2000的域环境中自动分发软件
  3. 导致oracle 控制文件坏,异常断电导致ORACLE控制文件等受到破坏的处理
  4. 关于大学老师,我们常有的6种误解!
  5. echarts鼠标放上去不显示值
  6. 深入了解hibernate之PO,VO,load,get
  7. 事业单位的到手工资不高,甚至有点低,为什么这么多人去考?
  8. 第 14 章 结构和其他数据形式(names)
  9. linux中文件颜色代表的含义
  10. 【python】报错:OSError: [Errno 30] Read-only file system
  11. 十首最美的诗,醉美了整个秋天
  12. “蔚来杯“2022牛客暑期多校训练营5-A Don‘t Starve
  13. 隔离技术之MUX VLAN
  14. 什么是 SRS 呢?在我们大部分的音频播放器里都内欠有这种音效。
  15. 2022-2028年全球与中国军用浮桥行业深度分析
  16. No qualifying bean of type xxx found for dependency expected at least 1 bean which qualifies as ...
  17. winrar中文去广告版下载
  18. Android studio音乐播放器
  19. Bing必应(Yahoo雅虎)搜索引擎登录网站 - Blog透视镜
  20. 第十八届全国大学智能汽车竞赛报名信息统计:华北赛区报名队伍

热门文章

  1. 2021年11月国产数据库排行榜:openGauss闯入前三,Kingbase流行度与日俱增,TDengine厚积薄发
  2. 深入理解 MySQL—锁、事务与并发控制
  3. 携程一次Redis迁移容器后Slowlog“异常”分析
  4. 9个问题,带你掌握流程控制语句中的java原理
  5. GaussDB(for MySQL)如何快速创建索引?华为云数据库资深架构师为您揭秘
  6. 遇到联邦计算数据碰撞难题怎么办?不妨试一试PSI
  7. 七夕赶上服务器架构升级,女朋友的约会怎么办
  8. 【文末有奖】华为云“网红”语言Python课程来啦!
  9. Volcano 监控设计解读,一看就懂
  10. 如何查看jsplumb.js的API文档(YUIdoc的基本使用)#华为云·寻找黑马程序员#