图片缩略图

粒子图像测速(PIV)工具与GUI

版本2.46 (16.9 MB) 威廉Thielicke
易于使用,基于GUI的工具,分析,验证,后处理,可视化和模拟(微观)PIV数据。http://pivlab.blogspot.com/
4.9
129年评级

1094下载

更新2021年4月11日

从GitHub

查看版本历史

在GitHub上查看许可证

编者按:受欢迎的文件2018

此文件被选为MATLAB Central本周精选

PIVlab是一款时间分辨(微)粒子图像测速(PIV)软件,定期更新软件修复和新功能。它不仅可以计算粒子图像对内的速度分布,还可以导出、显示和导出流型的多个参数。用户友好的图形用户界面(GUI)使PIV分析和数据后处理快速高效。

工具视频讲解:
https://www.youtube.com/watch?v=Sp3Ounq07Qc

例子分析和视频可以在PIVlab网站上找到:
http://PIVlab.blogspot.com

请在PIVlab论坛提问:
http://pivlab.blogspot.de/p/forum.html

安装方法:
下载“PIVlab”文件。Mltbx ',然后在你的电脑上运行它。它会自动在Matlab安装中添加PIVlab工具箱和应用程序。或者(我喜欢的方法,但也是唯一的方法,如果你的Matlab版本比R2015b[8.6]更早),从GitHub下载压缩文件,点击这里:https://github.com/Shrediquette/PIVlab/releases,点击最新版本的“源代码(zip)”,并将内容解压到Matlab工作目录的新文件夹中。然后运行PIVlab_GUI.m。

主要特点:
*完全基于GUI的PIV工具
*多通道,多网格窗口变形技术
集成相关,例如微型piv
*导入bmp/ tiff/ jpeg图像对/系列
*图像排序风格A-B, C-D,…或A-B, B-C,…
*单个图像掩蔽和感兴趣区域(ROI)选择
*图像预处理(对比度增强,高通,强度封顶)
*两个不同的亚像素估计器
*多种向量验证方法
*震级/涡度/散度/切变/…
*数据平滑,矢量场高通
*多个彩色地图
*流线
*广泛的数据提取工具/通过折线/圆/区域集成
*统计(直方图,散点图,平均值和stdev)
*精确的粒子图像对生成与用户定义的参数和几个流模拟(合成PIV图像生成器)
*数据导出(Matlab, ASCII,电影文件,图像,Paraview, Tecplot…)
*主要功能可通过命令行脚本访问

我们要感谢Uri Shavit, Roi Gurka和Alex Liberzon分享他们的3点高斯亚像素估计代码。感谢Nima Bigdely Shamlo允许我加入LIC函数。感谢Raffel et al.写的《粒子图像测速,实用指南》这本书,这是一个很好的帮助。

引用作为

威廉·蒂利克(2021)。粒子图像测速(PIV)工具与GUIGitHub (https://github.com/Shrediquette/PIVlab/releases/tag/2.46)。检索

蒂利克,威廉,埃泽·j·斯坦休伊斯。“PIVlab -在MATLAB中实现用户友好,负担得起和准确的数字粒子图像测速。”开放研究软件杂志,第2卷,Ubiquity出版社,2014年10月,doi:10.5334/jors.bl。

查看更多样式

Thielicke,威廉。鸟类拍打飞行:分析与应用。博士论文,格罗宁根国立大学,2014,doi:10.13140/RG.2.2.18656.94728。

意见及评分(264

姚古银

干得好!谢谢。

威 刘

洋平田中

安迪佩兰

凯文·杜·克洛斯

Pieter Boersma

乌尔里希•穆勒

威廉Thielicke

嗨,Shubham saini,文章中包含了许多PIV实验图片。

Shubham赛

如果有人能分享一些PIV实验图片(只要10张)就可以了,我想学习这个软件。

大卫·道尔顿

真的很有用,谢谢你的工作!!

英华

非常好的软件!

Arashdeep辛格

Guanjie

太好了!

弗雷德里克Moisy

好的,谢谢!

鑫李

优秀的工作

孝义胡

大器 程

你好,William博士,输出结果的时候能不能把矢量和云图分开显示,
1.在原图像上画一个矢量图(现在就可以做了);
2.在白色背景上绘制矢量地图;
3.只显示彩色云图,不显示矢量。

丹尼尔尽情

美好的信息。谢谢分享!https://openswffiles.com/

詹姆斯·卡莉

谢谢楼主的分享。一个非常值得推荐的软件,毫无疑问。https://filesextension.com

威廉Thielicke

嗨,Shantanu,实际上没有更新,这个网站上的所有变化只是为了迁移到github。你看到的那条信息每年只在这个特定的日期出现……它是一段时间前实现的:)

shantanu1985

我下载了最近的更新,现在当我启动PIVlab时,它显示“10月15日。从今天起,我爱莉娜15年了!”这是最近唯一的更新吗?:)

蒋禄卡Padula

波庞

这就跟你问声好!威廉,非常强大的软件!谢谢你!
我有个要求。每张图片的位移数据可以添加到这个软件中吗?如果是这样,那就太好了!

杏玉黄

这就跟你问声好!威廉,这是一个非常好的软件!
我有一个疑问,你能帮我澄清一下吗?
我计划将'result_conv'中的平面转换为归一化相关系数平面,并计算每个峰值的归一化相关系数。请问如何从'result_conv'参数或者' piv_FFTmulti'脚本中的其他参数计算互相相关系数?
非常感谢!

本章

谢谢你!

Aneek萨尔曼

你好!威廉,这是图像处理的一个很好的表现。我想知道我可以用这个程序通过图像处理来计算两种不同流体的混合指数吗?
如果可能的话,你能告诉我怎么做吗?

蒂雅

Isa单丝

Bosong林

技术性能白肢野牛

好东西,谢谢分享。
https://openjsonfiles.com/

Hoeger太郎

优秀的程序与良好的文档和教程。

Sacchita女子

你好,威廉。我目前正在尝试使用PIVlab进行脑组织置换。如果变形后粒子不仅位移而且变形,这个程序是否有效?另外,简单应变率背后的物理意义是什么。如果你能告诉我用什么公式来计算这个式子就太棒了。我们也可以从这个应用程序得到位移地图。
谢谢。

伟大的项目!一直在我的研究中广泛使用。在建立我的模型时,我确实遇到了一个关于粒子图像密度的问题。如何确定屏幕上的粒子数量与激光薄片厚度的关系?我计算了PID为每个询问窗口15像素所需的粒子数量,但我的PIV图像中的粒子数量(逻辑上)取决于激光薄片的厚度。是否有一种方法可以用给定的激光片厚度和粒子数来确定被照射粒子的数量?

Divna文件

很棒的信息,我很欣赏你的工作。
http://openfiles.bravesites.com/

avnish沙玛

avnish沙玛

太好了,我正在找这个信息。谢谢分享!
https://opencrdownloadfile.co

的产品

你好,威廉
位移(修改数据→显示参数)
谢谢你!

shantanu1985

您好,感谢您开发这样一个伟大的工具!如果有人能回答我的问题就太好了
在后期处理中,我使用了“interpolate missing data”选项,在数据缺失的地方填充一些橙色向量。有没有可能求出这些插值向量在每一帧中的百分比?

的产品

非常抱歉!没关系,这是我的错!
matlab2014b版本2.3.1工作时出现错误,无法显示颜色图(在修改plot外观中),建议使用更高版本的Matlab。
当2.3.1版本在matlab2014b中工作时出现了一个错误,颜色指示条(在修改情节外观中)不能显示,建议使用更高版本的Matlab。

的产品

matlab2014b版本2.3.1工作时出现错误,无法显示颜色图(在修改plot外观中),建议使用更高版本的Matlab。
当2.3.1版本在matlab2014b中工作时出现了一个错误,颜色指示条(在修改情节外观中)不能显示,建议使用更高版本的Matlab。

黄看淡

Intesaaf阿什拉夫

你好,威廉

谢谢你的软件。它对我的研究很有用。但是我无法保存每帧的matfile。它只保存一个名为“PIVlab”的帧

Shivani Jariwala

Qionglan他

有用!

你好,威廉。感谢您的快速回复!我还有一个问题。是否有可能以某种方式从PIVlab中提取向量的数据,以便绘制它们的极点(即平面的极点)?我看到有一个“矢量方向(度)”的热图-是否有可能以数字格式提取这些数据?

Nando Kaslin

太棒了

gautam辛格

最好的工具PIV Matlab。
谢谢威廉。
问候https://openapkfile.co/

VIVEK DIWAKAR

有没有提供立体声PIV

威廉Thielicke

你好,我不太明白你的问题,但pivlab会给你一些审讯区域的建议。请使用论坛提问。

Shivani Jariwala

你好威廉,

是否有一种方法,我可以创建网格的审问光斑大小,看看在框架集内的粒子位移小于1/4的光斑大小?

ABDEL MOUMEN

迈克尔·基林

威廉Thielicke

谢谢,安吉尔,我会查清楚的。

你好。

我已经使用PIVlab有一段时间了,但我想指出的是,在windows中不可能调用共享网络目录,例如\\MySharedDirectory\Sub\ directory来本地化图像。这个问题有什么解决办法吗?
我知道在Linux中不存在这样的问题,因为共享位置被挂载到本地目录,但在Windows中即使我映射了共享文件夹,我也看不到解决方案。

威廉Thielicke

嗨,雷吉娜,我一定要试一试!如果您使用Pivlab论坛来回答问题,我也可以尝试帮助您进行分析。

嗨。请问PIVlab是可以处理正畸,还是只能处理单张图片?我们通常以常规间隔捕获景观无人机图像,就像典型的SfM摄影测量模型一样,然后从中推导出正切线。我们在同一个位置上有多个时期的正畸-这就是我们想要开发运动向量的原因。PIVlab工具能处理如此大的数据集吗?如果是这样,是否有任何特定的相机参数,我应该知道(例如-70度万向节角vs最低点;某些高度限制;在不同时期保持一致的地面采样距离;等等)。如果它只能处理单个图像,我假设图像需要每次从相同的位置拍摄像素匹配工作(即相同的角度,距离等)? Thanks for your help, I'm excited to try out this tool!

威廉Thielicke

如果不进行校准,则u和v直接以像素为单位表示x和y位移。

西文

你好!

我正在使用PIVLab的背景导向纹影应用程序。关于将u和v矢量分量转换为x和y上的粒子位移,你能提供一些建议吗?

威廉Thielicke

嗨,请使用论坛提问,也请提供更多关于您的问题的细节(您正在尝试做什么?)

哈立德Elserfy


我使用pivlab 2.1来分析不同的情况,问题是x数组每次都从不同的位置x{1,1}(1,1)开始,我沿着x轴比较特定的位置,所以我应该使用x{1,1}(1,1)作为我的参考点,并从该参考点减去另一个点吗?

他在Bespalov

威廉Thielicke

@Deniel Weck:我不明白这个问题,对不起……

丹尼尔尽情

我在1.43上也有同样的错误。
我想这个错误是由于其他一些我需要弄清楚的事情。
关闭文件错误....文件可能已损坏。
在这里:https://opendllfiles.com/open-dat-file/

高科技男人

小王

施薇塔纳

应变率和剪切率是如何计算在这个代码?

施薇塔纳

Tongxu

腾达钱

威廉Thielicke

嗨,这是不可能的,因为这个功能是实验性的,我想防止人们不小心使用high-pass…但是你可以自己修改你的数据:只要低通你的图像,例如过滤,然后从原始数据中减去它。

吴老虎

你好,令人印象深刻的工具!我想知道选择Highpass vector field后如何保存矢量数据?

尼科洛Karwowski

你好,我想知道是否可以测量粒子的位移。我还想知道结果的准确性是否可以改变,例如,结果可以被读取到0.001的因子。

威廉Thielicke

是的,在文件选择对话框中,您可以选择排序样式。

非常好的工具!
只有一个问题:是否可以选择一个参数,使帧是[Image001-Image002], [Image002-Image003]等,而不是[Image001-Image002], [Image003-Image004]等?
欢呼,

威廉Thielicke

你好,特里斯坦,谢谢你的捐赠和评论!
已经有人要了,我来看看。当我使用PIV的时候,Tif堆栈没有被使用。这些堆栈是从哪里来的,是特定的软件/相机吗?
很难决定哪些是主要功能……我将检查添加另一个工具栏是否有意义。我还可以让这个是可选的,这样用户就可以决定他是否想要看到它。
3:这在2.02版本是可能的
4:如果你保存你的设置为pivlab_settings_default,那么Pivlab将开始你的设置(至少我认为它应该…)
欢呼,
威廉

特里斯坦Ursell

PS——我相信你总是会得到建议,我知道做出改变总是需要很多努力,但我有一些建议,而且我在软件构建方面相当有经验:

1)让人们可以读取TIF堆栈(而不是充满单个图像的笨重文件夹)
2)将主要操作(加载图像,设置蒙版,预处理和PIV设置,分析)作为前景按钮,而不是隐藏在菜单结构中
3)一旦一个蒙版已经绘制,有一个选项,以保存该蒙版到一个垫子文件,然后可以在后续的会话中重新加载
4)有可以保存的首选项文件,这样人们就可以按自己想要的方式设置程序,半永久地保存状态,然后*不*必须更改设置或加载设置文件,每次会话

谢谢!

特里斯坦Ursell

最好的工具PIV + matlab(而且,它是免费的!)谢谢威廉。

威廉甜

dlut gclx

Omid nematollahi雄性

你好威廉
谢谢你的更新。请问这次更新的功能是什么?
最好的

威廉Thielicke

嗨,格雷厄姆,
这是这个网站的错…在我上传一个新版本后,总是需要1-2天来构建工具箱。等一天再试试吧。

格雷厄姆Belluz

由于新的更新程序将不会添加到我的文件。我用的是学校的电脑,每天都要下载应用程序。

格雷厄姆Belluz

Omid nematollahi雄性

你好。这么棒的工作。这是非常有用的。
但我有两个建议:
1.是否可以将PIV实验结果的所有帧导出到Tecplot中作为时间分辨的解决方案。目前,我将把一个一个的ASCI文本到Tecplot。
2.如果有可能将湍流强度和其他湍流属性添加到Tecplot导出。

我会很感激你以后的更新。

威廉Thielicke

H. Birkan你能在PIVlab论坛上提供更多信息吗?也许包括重现错误的指令?
我刚刚完成了另一个重大更新,也许我可以在发布之前包含一个修复。

h . Birkan

在1.43中也遇到了同样的错误,我猜这个错误是由于其他一些我需要解决的问题

使用save时出错
关闭文件错误....文件可能已损坏
//www.tatmou.com/matlabcentral/answers/18098-error-using-save-error-closing-file

h . Birkan

在版本1.43之后,我在保存会话时开始遇到以下错误:
使用save时出错
关闭文件错误....文件可能已损坏
//www.tatmou.com/matlabcentral/answers/18098-error-using-save-error-closing-file

所以我已经开始使用旧版本,v1.43没有这个问题

棕褐色

Pragnyadipta森

Stefan Grandl

qiwen林

菲利普•海

嘿,威廉,
有没有可能用你的软件分析“最大”移动的点(最高速度的时间)?

我有大约1000个剪切实验的斑点图像,需要计算出我们正在工作的铝箔撕裂的时刻。

多谢。
你的软件看起来很棒。
如果能帮到我,我肯定会捐一些东西的。

愿一切都好!
菲利普

neetu女子

我使用旧版本的Matlab 2009。
如何安装“PIVlab”。Mlappinstall ' in system?

siguo长

惠芳刘

你好,请问我如何接收PIVlab的速度数据,谢谢

丰富多彩

YUANYAN上官

谢谢你写这个工具,我用它来分析我的散斑图像,但效果很差,我想,也许我需要修复它。

威廉Thielicke

请大家在PIVlab论坛提问!

Ming-Ze花王

大家好!
我有一个关于如何加载图像的问题吗?
当我想在PIVlab上加载图片(tif格式)时,我遇到了以下错误消息。
希望有人能帮帮我!!
非常感谢。
使用图像出错
Image CData必须是m × n × 3或m × n矩阵。

PIVlab_GUI>sliderdisp错误(第387行)
Image (currentimage, 'parent',gca, 'cdatamapping', 'scaled');

PIVlab_GUI>loadimgsbutton_Callback错误(第891行)
滑动条移动时显示原始图像

gui_mainfcn错误(第95行)
函数宏指令(变长度输入宗量{:});

PIVlab_GUI错误(第52行)
gui_mainfcn (gui_State变长度输入宗量{:});

错误
matlab.graphics.internal.figfile.FigFile /阅读> @ (hObject eventdata) PIVlab_GUI (loadimgsbutton_Callback, hObject、eventdata guidata (hObject))
计算UIControl回调时出错

Olja Barbir

大家好!
我有个小问题,非常感谢你的帮助。
我已经分析了一系列帧(压载粒子在特定频率下的运动),并且非常想获得我的粒子(或帧)的平均速度。第一个想法,用平均向量!这就是我的问题开始的地方。
我所分析的所有坐标系中的速度都明显(几乎x10²)高于平均向量坐标系中的速度。有人知道哪里出了问题吗?

DONGHOON汉

我能问个问题吗?
如何使我的视频适用于PIV?示例图像是二进制的,看起来需要一些步骤来分析。
我正在分析衣服在烘干机中的移动轨迹。并且它不适用于PIVlab_GUI.m的原始视频帧
求你了,我请求你的帮助……

舒如提Shivaramakrishnan

王健林李艘

威廉Thielicke

哇哦,PIVlab的Matlab网站现在可以直接显示视频了…很好,谢谢Mathworks!

Xingpao锁

卡拉巴宝莉

我似乎无法在Matlab的2017b版本上正确安装这个。的帮助!

Takemasa长谷川

阿施施马丹

这与2017a版本兼容吗?

我们周

Chun-Sheng王

亲爱的所有,
我在FileExchange中贡献了一个并行版本的PIVlab。
//www.tatmou.com/matlabcentral/fileexchange/63358-parapivlab--pivlab-in-parallel

Daniele Vigolo

Pooja苏雷什

密集的

它是如此的好,我想问一下如何使用PIV工具箱,有什么教程吗?

Sreekanth Madhavan

CHANPEI陈

anchodii

你能跳过多于一张图片吗?
例如,我想关联图像A-D, B-E, C-F等…

阿萍阮

签证官他

紫薇徐

都Badve

可以加载的图像数量有限制吗?如果是,我可以增加吗?
我一直试图加载15000张图像,但图像加载器只加载10000张图像。

哈罗德Fatzinger

是否与Matlab R2016b兼容?

Aswin来自

法Karakas

Aswin来自

问候,
我写信想知道是否有可能在matlab中使用readimx包阅读im7(LaVision Davis)图像,并使用此代码?如果可以的话,那就太好了

马克·D。

美丽的工具!
谢谢你让我的硕士论文(再一次)很棒

李纳斯舒马赫

在PIVlab_GUI的第155行中有一个多余的空间,这似乎阻止了在linux上正确读取默认设置(但在mac上没有)。

狮子座黄

我怎么下载这个?

aiqing2016

奥利弗Eisermann

戴尔芬Dullin

大肠Cheynet

Javad

首先,感谢您编写和开发这个工具!我屏蔽了一些区域,得到了nan。当我平滑或插值向量场时,这些nan被替换为一些我无法将它们与我感兴趣的区域区分开来的数字。另一方面,如果我不使用插值,在原始区域中还有一些其他的nan。我想知道有没有办法使用插值或平滑排除蒙面区域或我做错了什么?!

Bi Dianfang

请提供一个功能,生成用户定义的询问窗口的相互关联图。

马丁Teich

苏菲罗马

威廉Thielicke

最新版本的处理速度要快10到30倍。详见博客!

旋律海瑟薇

丽贝卡麦艾尔派恩

瑞恩贝克

杰米·穆林

威廉Thielicke

最新版本(PIVlab 1.4beta)与R2014b(及以上版本和以下版本)兼容。本网站将很快更新为v1.4。在那之前,下载一份@http://pivlab.blogspot.de

威廉Thielicke

如果你正在使用Matlab R2014b,并考虑使用PIVlab,那么请看看这里的这篇文章:
http://pivlab.blogspot.de/2015/01/matlab-r2014b-compatibility.html

威廉Thielicke

亲爱的Aahdi,正如我在邮件中提到的,请使用论坛提问,并提供更多细节,例如一幅画或例子。
论坛在这里:http://pivlab.blogspot.de/p/forum.html

AADHI NARESH

我在piv实验室有一个疑问,请让我澄清一下,如果我们想从河流或任何渠道提到,校准中的参考距离是什么?

频率是如何描述的

AADHI NARESH

hi@willaim

我是通过脸书发给你的。“ms”的实际含义是什么?它是图像的捕捉时间或相机规格。我的相机提供8帧。我的邮箱是ayyaure@gmail.com

谢谢

AADHI NARESH

hi@willaim

我是通过脸书发给你的。我的邮箱是ayyaure@gmail.com

谢谢

威廉Thielicke

@Aadhi:听起来你的校准可能是错误的。您是否注意到在校准过程中必须以“mm”输入距离,以“ms”输入时间步长?如果这不能解决你的问题,你可以发给我一些示例图像。

AADHI NARESH

你好William

在我的分析之后,我得到u速度是0.00025米/秒,但是当我手动在通道中做的时候,我得到了大约0.205米/秒,在我的分析中,我使用了佳能EOS 7D相机。这里我得到的误差是1/1000,请给出一个确切的解释。

威廉Thielicke

@Sidaard:我不知道你的“。dat”文件应该是什么文件格式,但你可以使用file -> save -> ASCII-file ->导出所有帧

Sidaard

你好!
我想知道如何为我所有的图像对获取单独的矢量文件。

我尝试使用DPIV软件,但我无法为每个图像对获得单独的.dat文件。我需要单独的矢量数据文件来计算雷诺应力。

任何有用的信息都将不胜感激。

谢谢

AADHI NARESH

你好,

图形和速度图是如何保存的,当我保存在任何位置时,我会在打开ASCII图时遇到问题

威廉Thielicke

@AADHI NARESH:抱歉,但我认为如果你先给出问题的细节,我会更有成效。

AADHI NARESH

NARESH

你好,

我有一个问题的互相关过程,请详细说明

威廉Thielicke

不,这是不可能的。PIVlab需要特定的会话文件,其中的数据以特定的方式组织。我建议在PIVlab中重做分析。

Dimitris

你好,
只要我已经有了速度场,是否可以只使用这个工具进行后处理?

威廉Thielicke

@Kristine:在PIVlab GUI中不可能做到这一点(因为你想要减去的速度随时间而变化)。但是您可以将结果导出到工作区,测量(取区域的平均值)速度并从结果中减去它。我认为这可以自动完成。

——>评论nr. 100,耶耶!让我们在这上面喝一瓶冰咖啡吧!

Kristine

你好,
我们的摄像机在录音的时候晃动了一下。我们知道在录制时图像的某些部分是固定的。是否有可能将这些“固定部件”设置为“零运动”?所以分析最终给出了运动粒子的真实运动而不抖动相机?
非常感谢!
Kristine

亚当

啊哈,谢谢。这应该能帮我解决问题。

干杯!

威廉Thielicke

是的,y =向下为正,x =向右为正。0,0在输入图像的左上角。ROI的坐标(xstart, ystart, width, height)在ROI面板中给出。

亚当

所以y在向下的方向上是正的(就图像而言)?根据我自己的测试,我想是的,但我只是想检查一下。

同样,x=0 y=0是否设置在图像的左上角,或感兴趣的区域?

谢谢!

威廉Thielicke

谢谢:-D。关于你的问题:它是左上角(这似乎是基于图像的数据的标准)。你只能通过从PIVlab导出数据,然后编写一个自定义脚本来改变这一点(但是不应该那么困难)。

亚当

PIVlab是迄今为止我使用过的最好的PIV软件,甚至比那些想要很多钱才能买到“完整”版本的专有软件还要好!

我有个问题:我要把笛卡尔坐标转换成极坐标。PIVlab把x=0 y=0放在哪里?在左下角?是否可以更改默认位置0,0?(因为这将使转换更容易。)

pratik

威廉Thielicke

是的,这可能有用。但你必须选择“A-B, B-C,…”的排序风格,否则你可能会跳过每两张图片。

佩特拉年代

我在PIVlab_GUI中进行了更改。在第1631行中将“filepath{i}”改为“filepath{1}”。

我想这个就行了。

佩特拉年代

谢谢你的快速回答。

我想把很多图像与同一参考图像进行相互关联。

威廉Thielicke

@Petra:是的,只要选择你的参考图像作为“图像A”的图像对。

佩特拉年代

你好,
有可能对一个固定的参考图像进行互相关吗?

非常感谢,
佩特拉

威廉Thielicke

@Joe:你看到的是通道之间的向量验证。这并不会真正影响你的最终结果。最后一遍的所有向量都是“实向量”,它们不是插值的。

@Elizabeth:你需要在你想要追踪的媒介中添加纹理。作为一个经验法则:如果你的眼睛能在图像中看到一个运动,那么PIVlab也将能够进行相互关联。

@Edouard:我在我的博士项目中做过类似的事情,但你需要在Matlab中进行计算。我可以推荐Paraview来显示3D数据。

Dipin K K

爱德华Bahous

你好,

我有几个PIV图像在一个轴对称部分的不同横截面角度,并想在每个图像之间插值,以创建一个3D流场。PIV实验室有这个能力吗?

谢谢你!
爱德华。

伊丽莎白

你好,
我需要建造一个水槽实验来测量土壤侵蚀。这似乎是跟踪土壤运动的一个很好的工具。但我必须使用示踪剂来获得水面上的流线吗?

约瑟夫·德克尔

你好,
这是非常好的软件,尤其是免费的。我在大学的毕业设计中使用了这个。我看到它在运行时丢弃了向量。我想运行一段时间来得到向量的平均值但它总是删除看起来不错的向量。你能告诉我在哪里可以禁用这个功能,这样它就会转储所有原始数据而不丢弃任何向量吗?

谢谢,

威廉Thielicke

你好罗伊,
要导出2D矢量数据,转到文件-> save -> ASCII文件或MAT文件或Paraview二进制VTK(取决于您想要的格式)。
今年夏天,我的论文和(希望)期刊上都能找到相关文档。

罗伊博瑞尔

威廉,

首先,请接受我对开发如此优秀的软件的感谢。在我的博士工作中,我发现这比商业上可用的PIV程序更可取(当然,在适当的时候会引用你的文章)。

我的问题是,我想导出完整的二维速度矢量分量(u,v)我已经看到我可以沿着“提取”菜单下的一条线导出u或v,但GUI中是否有一个函数可以在整个ROI上对完整的2D矢量场进行此操作?

最后,提到了关于算法准确性的文档等,可能会在2014年初发布,等待您的论文发表。你能否提供进一步信息?

非常感谢,
罗伊

威廉Thielicke

嗨,约瑟芬,
它使用互相关来确定粒子位移。您可以选择“直接互相关”(在空间域中)或“离散傅里叶变换”(在频域)。

约瑟芬

你好,我想知道PIVlab是用什么方法测定的(
相位相关,基于块的方法,微分方法(Lucas-Kanade方法,Horn-Schunck方法,Buxton Buxton方法,Black-Jepson方法))
一般变分方法,离散优化方法)。我写硕士论文,不能使用这个代码,如果我不知道它到底做什么。

先谢谢你,

约瑟芬

威廉Thielicke

亲爱的拉姆,这是PIVlab评论页面,而不是PTVlab页面。虽然来自PTVlab的GUI来自我们的项目,但我无法帮助您解决PTVlab中的bug。

内存

你好,
不错的代码,但我在运行过程中遇到问题。当我打开图像预处理,启用减法,点击预览当前帧,然后什么都没有发生。相反,程序变得无法/不活动。我必须关闭PTVLab。有人能帮帮我吗?
提前谢谢!!
内存

威廉Thielicke

亲爱的佩特拉,
PIVlab使用uipickfiles。M加载图像数据的路径和文件名。您可以用从Matlab工作区加载矩阵的自定义函数替换此函数。请参阅uipickfiles的文档。M来理解它的数据结构。

佩特拉年代

你好威廉,

谢谢你的精彩节目。

我想知道的是:
是否可以直接从当前的matlab会话导入图像(矩阵),而不将它们保存到文件?

致以最亲切的问候
佩特拉

大卫·杰瑟普

威廉Thielicke

@Uli:谢谢,我会尽量不忘记把它包含在下一个版本中。

@Tobias:“区域平均流动方向”适用于完整的单元格:如果单元格的面积超过50%在您选择的区域内,则该单元格将包含在平均值中。
“面积平均值”使用的正是多边形中的面积。所以这个更精确。

托拜厄斯

嘿,威廉,
我喜欢你的节目。它真的很复杂,很容易使用。
然而,我想到了一件事。如果我从面积中提取速度大小,有两种可能,对吧?-通过“面积平均值”->“速度幅度”和通过“面积平均流向”。然而,结果却不尽相同。我不是一个matlab专业人员,所以我很难按照源代码找到确切的区别。也许你可以给我一个建议,我更“相信”哪种可能性;)
谢谢你所做的一切,
托比

亲爱的威廉,
谢谢你的好代码。
我刚试过了,效果很好。然而,我认为我发现了一个bug,当图像包含空白区域时可能会出现:
然后在piv_FFTmulti中得到一个错误(第122行)。
您可以在这一行中添加“~isempty(x) && ~isempty(y)”来解决这个问题。

乔恩

你好威廉,
非常感谢您提供这个有用的工具。关于上一篇用户文章关于获得相关性峰值的一个快速后续问题。我们是否运行PIV_FFTmulti。m单独或它(相关峰值具体)可以从GUI运行?
谢谢

威廉Thielicke

相关结果如下:
piv_FFTmulti.m
result_conv = result_conv / max (max (result_conv)) * 255;%normalize,峰值=总是255

Konstantinos Margaris

亲爱的威廉,

如何绘制审问窗口的相关峰值?

新浪Tebianian

非常感谢你宝贵的帮助。我会把一些照片发给你。

威廉Thielicke

亲爱的新浪,
图像不是二值化的。然而,PIVlab只使用来自图像的强度信息。
在最后一关,至少应该有6个粒子对。讯问区域越大,个体带菌者越好。但是你当然会失去分辨率。
当一个区域没有粒子时,PIV就不起作用了……挑战通常是优化实验设置,但我猜这对你来说很难……请给我发一些图片,我可以看看。

新浪Tebianian

亲爱的威廉,
感谢您创建的令人惊叹的PIV代码。我正在处理一系列在由许多颗粒组成的密集流化床中获得的图像。当我开始在您的PIV实验室工作时,出现了一些问题:
1.程序是否将所有图像二值化,一旦我做图像预处理?
2.有一些区域没有粒子但我看到有很多速度向量应该以某种方式避免。
3.我应该如何选择Pass1、pass2和pass3 ?这有什么标准吗?

我也很乐意给你发一些图片。

致以最亲切的问候
新浪

文森特

威廉Thielicke

亲爱的伊恩,
PIVlab使用子图像的互相关联来寻找位移。请参阅Raffel等人:“粒子图像测速,一个实用指南”关于PIV的信息。这本书还概述了在高位移和多通算法的流动中询问区域的大小。

伊恩

感谢您创建的优秀PIV算法。我现在已经使用了一些,在我看来,这似乎是最友好的。
谢谢你回复我之前的问题。我发现我之前分析的视频有明显的闪烁,这可能会引入人工制品。

比方说,如果我有粒子在流体中流动,PIVlab是在粒子跟踪的基础上生成矢量,还是更像一个纹理分析算法?

如果是粒子跟踪,我可能会在确定向量时遇到更多问题,因为我目前正在处理更小的ROI,因此如果我增加大流量速率,很快我将不得不将询问窗口大小增加到一些不合理的值,我可能会失去有价值的信息。

威廉Thielicke

亲爱的伊恩,错误向量的数量取决于你的图像质量。图像噪声或压缩伪影确实会成为一个问题。您可以通过应用例如stdev过滤器、规范化中值测试或全局速度阈值来半自动地过滤错误向量。你也可以把你的一些图片发给我,我可以看看。

伊恩

嗨,我想在一个封闭的流道中生成围绕结构流动的流线。为了帮助跟踪流体流动及其速度,我在流体中添加了微粒。我用这个图形用户界面来生成流线。

我的问题是,当我播放流体流动的视频时,我可以很容易地看到流动的净方向。但是当我用PIVlab分析它的几帧时,我得到了一些指向错误方向的错误向量。除了每次手动消除我分析的每一帧,还有什么我可以做的吗?
谢谢你考虑我的问题。

威廉Thielicke

亲爱的Konstantinos,
1:命令行脚本不打算生成PIVlab会话文件。但是您可以在GUI中分析2-3张图像,然后保存会话并查看生成的.mat文件。变量"resultslist"包含x,y,u,v,类型向量信息。
2:使用exportfig函数导出图形。您可以在PIVlab_GUI中搜索“exportfig”。M,修改后保存。

在我的图像中应用强度封顶时,我得到了以下错误:

使用中值的错误(第28行)
第一个输入必须为单或双。
PIVlab_preproc错误(第24行)
up_lim_im_1 =值(in_roi (:)) + n * std2 (in_roi);的%上限
图1
PIVlab_GUI>preview_preprocess_Callback错误(第1502行)
out = PIVlab_preproc (img,roirect,clahe,
clahesize、highp highpsize,剪辑,clipthresh intenscap);
gui_mainfcn中的错误(第96行)
函数宏指令(变长度输入宗量{:});
PIVlab_GUI错误(第32行)
gui_mainfcn (gui_State变长度输入宗量{:});
错误
@ (hObject eventdata) PIVlab_GUI (preview_preprocess_Callback, hObject、eventdata guidata (hObject))
计算uicontrol回调时出错

如果将中值函数中的参数转换为双精度,问题就解决了。我不确定这是一个普通的错误或只是我的图像(8位Tiff)。

另外,如果你能帮我做几件事,我会很感激:

1.使用命令行脚本保存带有结果的mat文件,以便将其加载到GUI进行预处理的命令是什么?

2.我使用边缘检测算法来检测和屏蔽图像中的边界。我想在GUI中绘制边缘,并在导出图像或视频时将它们保存在图像上。你能告诉我保存的图像变量吗?这样我就可以添加检测到的边缘了。

苏珊

威廉Thielicke

亲爱的Konstantinos,你可以保存会话,然后使用Eileen不久前发给我的这段代码从保存的会话中提取掩码:
函数ReadSaveMasksFromSession(filename, outfile)
% filename是PIVlab会话文件的名称
% outfile是要保存的MATLAB文件的名称
此函数保存PIVlab中掩码的x坐标和y坐标
%先前保存到会话文件。它只做第一个图像切片,
%,但可以从PIVlab内复制到其他图像。
%如果用户希望在其他图像上使用相同的PIVlab
%定向,该程序的输出文件可以加载到PIVlab中。
Eileen M. McMahon,博士,2012年5月
Masks = load(filename, '-mat', 'maskiererx', 'maskierery');
Xmask = masks.maskiererx{1,1};
Ymask = masks.maskierery{1,1};
保存(输出文件,“xmask”,“ymask”);
返回;

Konstantinos Margaris

出色的工作!

有没有办法保存在PIVlab中绘制的面具,以便在不同的会话中重用它们?

艾米

约翰

这真是太棒了。对于我第一次使用PIV,这段代码非常有用。我想知道当我把结果保存到.mat时,矩阵'typevector'代表什么。它是否显示哪些向量是原始的,哪些向量在向量验证后被替换?

威廉Thielicke

@Emil:我正在使用Matlabs内置的流线功能。在我看来,它只会从这个点往一个方向画流线。我将为下一个版本寻找替代方案。

埃米尔Rozbicki

非常好。只是想知道是否有任何方法来显示流线,不仅“从点开始”,而且“在点结束”,或者是否有一种方法来显示通过给定点的“完整”流线。

我认为这个工具很棒!

威廉Thielicke

这并不复杂,这是一个快速而肮脏的抛物线流:

[v, u] = meshgrid (1:800 300:299);
v = 0 (600800);
u = (1 u。^ 2 / max (max (u。^ 2)))* 5;

阿洛克

你好,
谢谢你的快速回复。我要试一试,尽管它看起来很复杂。

威廉Thielicke

你好阿,
在PIVlab_GUI的第3636行。M,你可以找到生成均匀位移流的代码。你可以把你的抛物线流剖面放在这里,你只需要一个u和v位移矩阵在图像中的所有像素。

阿洛克

从我之前的问题中,有没有一种方法可以用抛物线方程来指定位移,并在PIVLab中生成粒子图像?

阿洛克

这是一个神奇的工具。在找到PIVLAb之前,我已经尝试了很多替代方案。好工作! !不过,我有一个疑问。我似乎不能生成简单抛物线流的图像,比如通道中的泊苏叶流。我遗漏了什么吗?谢谢

好工作。

Jan Neggers

威廉Thielicke

@York:是的,只要在“Plot ->派生参数”中禁用“自动缩放地图”功能就可以了。

纽约

问个小问题,有没有一种方法可以修复整个图像序列的颜色条范围?

纽约

r . Aragall

Bhavin中间人

谢谢你!

威廉Thielicke

你可以打开pivlab_gui。M,搜索“vectorcolor='g'”。把这个替换成e.g.。'r'代表红色,'k'代表黑色。
当您想要修改在显示导数(例如涡度或幅度等)期间绘制的矢量颜色时,请搜索vectorcolor='k'并将其替换为您选择的颜色。我将在下一个版本中添加改变矢量颜色的可能性。

@ALL:如果你错过了一些功能,请在这里添加你的评论/愿望:
http://pivlab.blogspot.com/2011/07/pivlab-12-windows-deformation.html
否则,我可能会忘记在下一个版本中添加所需的功能(我有很多项目,很难跟踪每件事..)。

Bhavin中间人

非常好的节目。坚固,快速,易于使用。有一个问题,我有没有办法把箭头的颜色从绿色改为黑色或红色?我使用彩色图像进行演示。

威廉Thielicke

吴@XP:
谢谢你的反馈。
1605-1607行我认为是正确的。它们设置复选框的值(value==1表示选中复选框,value==0表示未选中复选框)。变量pass2、pass3、pass4分别为0。这很好。
您的第二个更改非常有意义,我将在下一个版本中包含它。谢谢!

XP吴

伟大的工作!
还有一些bug需要修复。
请看第1605到1607行:

设置(处理。“价值”,checkbox26 pass2);
设置(处理。“价值”,checkbox27 pass3);
设置(处理。“价值”,checkbox28 pass4);
因为复选框没有名为“value”的属性,所以这些代码应该如下所示:

%%{由XP wu修改
设置(处理。checkbox26, 'String','Pass 2:');
设置(处理。checkbox27, 'String','Pass 3:');
设置(处理。checkbox28, 'String','Pass 4:');
% % 2011-12-15}

XP吴

PIVlab_GUI不需要从它的文件夹开始。只需要改变第105行:
read_settings (PIVlab_settings_default.mat, pwd);

可以如下:
%%{由XP Wu修改
% read_settings ('PIVlab_settings_default.mat',pwd);
psdfile =(“PIVlab_settings_default.mat”);
dindex = strfind (psdfile filesep);
read_settings (PIVlab_settings_default.mat, psdfile (1: (dindex(结束)1)));
% % 2011-12-15}

Hayder

优秀的代码。非常友好和准确。
我所有的博士论文都在用它

凯利

这个代码有3D版本吗?

威廉Thielicke

嗨thefourtheye,
如果某些区域完全是黑色的,我的工具将无法计算该区域的速度。所以这些区域的速度不是零,但它是“不可测量的”。这就是为什么该工具将“nan”放在这些区域。在向量验证中,所有缺失的数据(= nan)都被插入。我只是修改了文件piv_FFTmulti。m,使“0”放置在黑色区域,而不是“NaN”。如果你想让我把文件发给你,请写邮件给
P I lv b @ g mx。C o m

thefourtheye

你好W Thielicke,你的工具太棒了。谢谢你的分享!我有一个关于向量验证的问题。我正在运行你的伤口愈合分析程序。在分析之前,我对我的图像应用二进制阈值以减少噪声。当我运行程序时,有细胞的矢量,细胞分裂的异常矢量,以及没有发生移动的裸露区域上的点。当我选择速度限制并将其应用于帧时,异常向量被较小的橙色向量所取代,但现在在帧之间应该没有移动的裸露区域也有较小的橙色向量。当我限制速度范围时,为什么没有运动的区域被指定向量?我注意在散点图上(0,0)处设置极限的中心(例如,我将选择(-1,1)和(1,-1)之间的区域)。

加雷思

是的,我已经添加了一条将数据发送到工作区的语句,现在我可以访问数据了。谢谢!

威廉Thielicke

直方图和其他统计图在PIVlab_GUI的3019行中完成。m。只需在这一行下面输入“keyboard”命令,就可以访问数据。你是这个意思吗?您还可以在这里添加assignin命令,以便始终将数据发送到您的工作空间。

加雷思

嗨,这是一个很棒的工具,谢谢。但我有一个问题。我不仅想看到PIV实验室生成的直方图和图表,还想获得用于生成它们的数据。如果它使用x和y轴来生成直方图,我想要这些数据向量。这可能吗?

郧阳

威廉Thielicke

大家好,我有个好消息:前几天我编程了一个多通道窗口变形PIV算法。结果看起来很棒,噪音显著降低,峰值锁定减少,大梯度和非常小的询问区域都不是问题。看一看http://pivlab.blogspot.com第一个结果。我会做一些最后的测试,并很快上传更新。

Erman侯赛因

PIV实验室是我用过的最高效的程序。用户友好的界面和操作说明是非常有用的快速处理。感谢这段高效的代码。真诚

威廉Thielicke

我认为从外部程序加载分析将是不可能的。在你的分析中没有办法减少位移吗?如果您的流程或多或少是均匀的,您可以在分析之前尝试移动图像。你能给我寄一些录音样本吗?也许我会找一些时间再次使用多通道,然后我需要一些多通道具有优势的图像。

K.Wager

@W Thielicke:
谢谢你的快速回答。
我需要使用多通道的原因是由于我的流动条件(μ -PIV,速度超过15米/秒)。

我想知道我是否可以用我的商业软件做交叉相关,然后在PIVlab中加载数据。这是可能通过加载PIVlab会话?需要哪种格式和数据?

威廉Thielicke

@K。赌注:
我之前做了一些初步的多重测试。第一次我做了一个正常的分析,得到了x和y的位移。在接下来的一次中,我用第一次的整数位移移动了第二幅图像的询问区域,并重新分析。两次传递后,分析结果没有任何变化。我认为原因是我使用了DCC方法进行分析,但我还不确定这一点。也许,如果我使用FFT方法,那么多通道分析的结果会更好。此外,如果我在第二遍中减小询问区域,结果可能不会变得更好,因为分析将基于更少的像素信息,这可能会增加噪声。

在最新的版本(尚未上传)中,我添加了一个在分析中绘制流线的功能。也许你们中的一些人会感兴趣。

K.Wager

我刚开始使用PIVlab,但我已经认为它比商业软件好得多!

是否有可能在减小窗口大小的情况下进行多通道查询?

若昂胸罩

很棒的工作! !你的软件在很多方面都比其他商业软件好。非常有用!

谢谢你!

若昂胸罩

奥斯曼Mosa

F a n t a s t I c

sid

非常感谢!这将有助于手动拒绝一些载体。

Liran奥伦

很棒的工作! !
我得到的结果与15,000美元的Davis软件(来自LaVision)给出的结果相同。荣誉!
你如何从结果中计算压力场?似乎OpenPIV团队已经开始研究它,但从未完成…求解N-S方程和泊松方程将为您提供一个对于某些应用来说足够好的球体

威廉Thielicke

它在哪里趋近于0 ?当你在工具面板上点击一个矢量?这个面板中的速度显示只是为了提供信息,而不是测量什么。但是你可以在PIVlab_GUI.m中搜索这一行:

设置(处理。u_cp,“字符串”,[' u:“num2str(圆((u(信息(1,1)、信息(1、2))* retr (caluv) -retr (subtr_u)) * 1000) / 1000)));

并将“1000”替换为“10000”,以获得更精确的信息。

sid

非常好用的工具!!
我只面临一个问题。当速度低于或接近0.002 m/s时,它给出的速度分量值为零。
是否有舍入误差导致了这个问题?我该怎么解决呢?

Amitesh

干得好!我希望你也能在统计和提取部分添加“应用到所有帧”的选项。当一个人试图提取数据使用折线,面积,面积积分级数等,它将是非常有用的,能够这样做,所有加载帧一次自动。谢谢你!

大卫

优秀的工具! !

非常友好的。
快。
所有有用的输出变量都可用。
所有有用的数据输出格式可用。

绝对是我见过的最好的文件交换工具之一。(为了发表这条评论,我觉得自己不得不注册一下。)

威廉Thielicke

如果您在使用这个工具时遇到问题,请与我联系。我只有两台电脑(Win7)和一个MATLAB版本来测试它。到目前为止,软件变得相当复杂,所以我不可能预测所有可能的硬件/ OS / MATLAB发布组合上的潜在问题。
然而,我不能保证我总是有足够的空闲时间来立即解决你的问题。

帕特里克

很棒的工作!

Khaldon

威廉Thielicke

Hi Shashi,我目前正在开发下一个版本,我将添加一个改变矢量厚度的可能性。

沙市Thutupalli

你好,

这真的很好,对我来说很管用。有没有办法修改矢量的厚度等等。

最好的
沙市

哈迪穆罕默

哈迪穆罕默

我有另一个问题,这是编译时间,我只是想在代码样本中绘制速度剖面,但它花费了太多时间,我只是把它切断了,同时我使用了一个新品牌的笔记本电脑和台式机,有什么想法吗?

哈迪穆罕默

嗨,我打算使用这个GUI来跟踪粒子,我成功地使用了它的第一次尝试,然后我遇到了一个错误,当我想再次运行它时,MATLAB命令行中的错误说:
*******************
???使用==> guihandles时出错
H必须是图形或图形后代的句柄。

错误在==> PIVlab_GUI>switchui在149
处理= guihandles (getappdata (0, ' hgui '));

错误在==> PIVlab_GUI>loadimgs_Callback在592
switchui(“multip01”)

错误在==> gui_mainfcn在75
函数宏指令(变长度输入宗量{:});

错误在==> PIVlab_GUI在25
gui_mainfcn (gui_State变长度输入宗量{:});

???计算uimenu Callback时出错。

保存上一个目录错误
********************
如果有人能帮我修复这个bug,那就太好了。

Wouter米

很好。我对这方面的研究不熟悉。我对“专业”软件感到沮丧。我尝试了其他一些Matlab piv工具箱,但这是最好的恕我直言。

再说一遍:非常好的工作!我有两个建议,我认为会有用。建议:1)使所有命令都可以在命令行或脚本中使用,并添加一个简短的文档。2)增加了计算图像时间序列的平均流场和湍流速度的可能性。

Wouter米

MATLAB版本兼容性
使用R2019b创建
与R2014b及后续版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!