使用差图像进行地震预测(一,c#实现)

做机器视觉久了,发现要求的精度越来越高,当你习惯了1um的精度时,你对动静的灵敏度会非常高,因为你会发现动静会对你的机器视觉图像影响非常大。

突发奇想,这个原来可以感知地震,应该比张衡的地震仪精度高多了!

感知地震,你不可能天天盯着相机图像看吧!

是否可以通过程序来自动感知呢?

搞机器视觉,不就是干这个的吗?

用什么方法呢?很简单,实时图像前后两帧做差,如果发生变化,我们就认为感知到了震动,否则,图像无变化,做差结果显然为零了,做差图像显示就是一团黑。

那么发生变化的做差图像,动动脑筋,想一下,会是什么样呢?我们设置了梯度和(相邻像素差分取绝对值求和)门槛值,如果大于500,认为震动了,小于500,就认为,没震动,没变化的一团黑图像,梯度和肯定是零了。

好,我们先看热闹,之后,放出c#程序:

第一,初始化并打开相机,需要强调的是,我们是实时取像,因为是工业相机,每秒取像可达120帧:

第二,中间红色的感兴趣矩形框(roi),就是我们的主要(关键)关注对象,选择“roi可拖动”按钮,圈定观察区域。

第三,进入roi做差图像界面,先看图像做差无变化,一团黑(无振动)。

第四,震动小于500的情形:

第五,震动大于500的情形:

我们用上面这种情况,可以检测地震的横波(图像位移),对于我们是玩一玩,对于专业人员,门槛值肯定还得优化,对于不同震级的横波。当位移很大时,我们就让电脑给出预警,地震呐!

那么我们能否检测地震纵波呢?我想应该是可以的,因为纵波会导致相机景深变化,比如,我们用景深0.02mm的相机,那么就可以感知到纵波带来的变化,相机景深变化,图像会变模糊,我们博文中曾经有一个相机自动对焦的程序,可以判断清晰模糊度,用它我们来检测纵波,想想可以,我们在纵波探测上就不尝试了,丢给专业人员吧!

另外,我们能否通过梯度方向,感知地震传播方向呢?

关于程序代码,下一节给出。

其实这个程序也可以跟踪运动的事物,不是吗?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值