首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

木星切片剪影:JunoCam 图像处理

█ 本文译自 Jesse Dohmann 于2018年1月12日的博客文章:Slicing Silhouettes of Jupiter : Processing JunoCam Images.

随着朱诺号太空探测器的图片公布于世,对这些图片亲自进行一番图像处理想必会很有趣。虽然本人毫无图像处理经验, 借助Wolfram 语言里一些非常好用的工具,可以减轻学习负担,使我不必纠结于如何做,而是专注于想做什么。

朱诺的任务是为了理解行星的形成。木星,作为我们太阳系中最有影响的行星,无论是从字面上 (从引力效应),还是象征性地 (在我们关于宇宙起源的叙述中) ,都是最具竞争力的研究对象。朱诺号探测器发射到既定轨道上,将木星表面的气体的高清图像送回地球进行研究,以回答我们关于宇宙的一些问题。

朱诺探测器拍摄的图像以彩色滤镜、表面贴片的形式给我们提供了一张完整的木星表面图像。需要对其进行一些几何和图像处理,才能组装成一个完整的表面彩图。

预处理图像

JunoCam 的图像采用了四种不同的滤镜:红色、绿色、蓝色和近红外线。其中前三个来自同一次航天器自转 (每分钟大约两次旋转),并且近红外线图像来自第二次自转。最后产生的图像将所有的单滤波图像缝合在一起,得到一个投影图像。

NASA 把通过 JunoCam 捕获的图像汇集成一个图片库,其中包含本过程所用的全部图片,包括未排序的原始图像;红色、绿色和蓝色滤波图片;和最终的投影图像。

让我们先导入特定的红色、绿色和蓝色图像:

要从这些频带组装成 RGB 图像,我使用ColorCombine

为了清除图像中的一些雾气,我们需要调整其对比度、亮度和伽玛参数:

可以看到,在最初的彩色组合图像中,有一个阴影效果并不突出。为了防止前景图像上的阴影干扰任何进一步的分析,亮度需要在整个图像中保持一致。我首先创建一个掩膜来限制对白色区域的校正:

应用这个掩膜得到:

现在图像变得过暗了,所以必须重新调整图像。这次,我用一个Manipulate来交互操作:

使用在Manipulate中找到的参数值创建调整后的图像:

在相机上拍摄的图像总是多少有点模糊。Wolfram 语言有多种反褶积算法可立即用于计算,减少这种意外的模糊。

大多数人在做图像处理时,特别是对天文图像进行处理时,都有一种直觉, 知道如何最好地通过反褶积来恢复图像。因为我没有这种直觉,最好的方法是这样交互式地做:

我再次使用了交互式得到的模糊校正,得到一个清晰的图像:

作为可用性测试,来看看这些变化是如何并排显示的:

处理图像

现在,图像的清理工作已经完成,可以通过多种方式对其进行分析。虽然哪种方式最好,并不总是那么明显。这对我来说是一个非常有挑战的探索过程——我尝试了很多最终并不正确的方法,如分水岭分割或图像的DilationErosion;这些方法对二值化图像非常重要,但这里的重点是增强彩色图像。

对于木星,大红斑倍受关注,所以为什么不来突出一下这个特征呢?

首先,我需要过滤图像,以便易于区分三个不同的区域:背景、前景和前景中的大红点。为了做到这一点, 我应用了MeanShiftFilter

这是很有用的,因为这个滤镜删除了大红斑的锯齿边缘。此外,此滤镜还保留了边缘,使大红斑周围的边界更平滑,便于计算机检测。

再次使用Manipulate,我可以手动放置指示图像三个区域位置的种子点(您可以看到上面的滤镜对区域分离的效果):

这些地方的种子值存放于一个变量中,以供进一步使用:

使用这些种子,我可以用编程方式进行分割:

随着区域分割,我为大红斑创建了一个掩膜:

将这个掩膜应用于图像:

这虽然很棒,但我希望图像中的大红斑有一个近似数值边界。幸运的是,这对于Wolfram 语言来说,是相当简单的。

交互式右键单击菜单,即可以从图像中找到创建此数值边界所需的坐标:

这是一个方便的 UI 功能,在笔记本前端直观地指导我查找大红斑内部 y 坐标最小值的大致位置:

以及同一区域内部 x 坐标最小值的大致位置:

我也同样找到了各坐标的最大值。通过这些值,生成一个步长为. 1的数值范围:

我构造了主轴和次轴:

然后近似得到中心:

最后创建椭圆边界:

将此椭圆边界应用于图像:

关于木星的更多巧妙分析

为了更好地了解木星,除了对外部 JunoCam 图像进行图像处理,木星(和太阳系中的任何其他行星一样)还有许多内置属性,已经存在于语言本身,随时可供计算:

这里提供了木星表面的一个纹理等距圆柱投影 (ERP),它非常适用于3维重建。

使用这个投影,我可以将它映射到一个球形图形基元:

结语

从起初我对图像处理几乎一无所知,通过很少几行代码,就能够以相当彻底的方式进行数据挖掘和分析,即使没有多少直觉可以指导我。

Wolfram 语言将图像处理所带来的单调乏味一扫而光,并帮助我专注于我想做的事情。正因为如此,我可以发现并尝试更多更有趣的事情——比如使用ImageAssemble组装原始图像,或者尝试通过颜色而不是数字来突出显示感兴趣的特征等,并且让我对提取正在寻找的信息更加自信。

END

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180127B01U7E00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券