图像处理图片的格式对结果的影响

11 篇文章 1 订阅
10 篇文章 0 订阅

图像处理图片的格式对结果的影响

前言

   首先,写此篇博客是因为博主在使用不同的数据集进行显著性检测时当将训练集的规模变大时,效果反而变差,最后测试得到的结果显著图是一种全黑的状态,讲道理,这不应该,因为选用的都是广为使用的标准数据集(RGBD)。
   并且之前使用单独的数据集(DUT-RGBD)时结果是正常的,当加入两个性的数据集NJUD(1485张)和NLPR(800张)以及它们的增强一共32835张(详见论文:Depth-induced Multi-scale Recurrent Attention Network for Saliency Detection)时,效果反而下降,无法正确识别出显著性物体,一开始我以为是我的网络的问题,在仔细检查并且使用了其他的RGB数据集时(ECSSD和PASCAL-S Imgs)时发现效果都没问题,于是我觉得问题可能是出现在新加的这两个数据集上。

分析过程

   一开始,我觉得可能是RGB图片尺寸或处理时的通道数问题,可是通过cv2.imread()进行读取并输出他们的 shape 时,发现他们都是256*256的分辨率并且通道数均为3,所以既然RGB图片的格式是一致的,那么问题就很有可能出现在训练时的真值图(GT)上.由于GT都是黑白图片(白色区域表示显著图),所以一般我们在获取GT时都是采用PIL.Image.open()的方式来获取,经过获取,我发现两者确有不同,原先的DUT-RGBD的图片格式是:
<PIL.PngImagePlugin.PngImageFile image mode=L size=256x256 at 0x259D96BF9C8>
而新加入的两个数据集的GT图片格式是
<PIL.PngImagePlugin.PngImageFile image mode=1 size=256x256 at 0x259D985BAC8>
易看出两者的 mode 不同,原先的是‘L’,而新加的数据集mode是‘1’。??本着试一试的态度,我将新加入的数据集的GT的mode均转化为‘L’(方法是Img.convert('L)).然后再重新运行了下。发现之前全黑的问题不存在了,测试的结果集变正常了。??what,由于之前从未遇到过这种问题,因此也未考虑过这种问题。把测试成功的喜悦放在一旁,我们一起先来看看这两种模式的奥秘

原因分析

PIL.Image.open(path)具有9种不同的格式,分别是:
‘1’,‘L’,‘P’,‘RGB’,‘RGBA’,‘CMYK’,‘YCbCr’,‘I’,‘F’。这里主要聚集在‘1’和‘L’的区别上

mode==1

mode==1表示二值图片,非黑即白。它每个像素用8个bit表示,0表示黑,255表示白。以下是我们的彩色图片:
RGB
使用PIL.Image.open()打开时的格式:
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=256x256 at 0x200C1435F88>
当将其转换为mode=1时图片变成:
1
格式:
<PIL.Image.Image image mode=1 size=256x256 at 0x2916140E588>
可以看到像素非黑即白,呈点射装,有些过度像素均走向了极端。
放大看下
放大看下

mode==L

   模式“L”为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。在PIL中,从模式“RGB”转换为“L”模式是按照下面的公式转换的:
L = R * 299/1000 + G * 587/1000+ B * 114/1000
当将原RGB图转换为mode==L时,图片为:
L

格式为
<PIL.Image.Image image mode=L size=256x256 at 0x2CB54B3E608>

放大看下:
放大后
可以看到此图片为‘真’灰度图,个像素之间的过渡不再显得那么突兀。

再看我们的两种GT图
L格式
L格式

放大看下:
放大的L格式
1格式
1格式
放大看下:
放大的1格式
可以看到1模式相比较于L模式其锯齿状更为强烈,由于是黑白图所以我们的肉眼和很难判断出,但是在训练时不同模型对不同格式的GT处理不同,用错则会导致较大的噪声从而导致失败,这问题说大不大但很难察觉,所以我们在训练时必须根据自己的需求来确定自己的最终图片格式,这样才能避免引入不必要的麻烦!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Halcon数字图像处理软件是一款功能强大的图像处理工具,其原始文件为.rar格式。这个压缩包文件包含了一个名为"刘国华"的图片和相关的示例程序。 首先,"刘国华"图片是一个用数字图像处理软件生成或修改的图像文件。这个图片可能是一个示例图像,用于展示Halcon软件的功能,也可能是一个需要处理的真实图像。根据文件名可以推断,这张图片可能和刘国华这个人物有关(例如,可能是他的照片)。通过使用Halcon软件,可以对这张图片进行各种处理,如滤波、增强、分割等。 除了图片,这个压缩包还包含了一个或多个示例程序。这些示例程序是使用Halcon数字图像处理软件编写的代码,用于演示图像处理的各种功能和技术。通过运行这些示例程序,用户可以学习到如何使用Halcon软件来处理图像,以及了解图像处理的一些基本原理和方法。 总之,"刘国华"图片和例程.rar是一个包含了一个图片和相关示例程序的压缩包文件。通过使用Halcon数字图像处理软件和这些示例程序,用户可以对图片进行各种图像处理操作,并学习到如何使用Halcon软件进行图像处理。 ### 回答2: Halcon数字图像处理(刘国华)图片和例程.rar是一个压缩文件,里面包含了刘国华老师关于Halcon数字图像处理图片和例程。Halcon是一款强大的图像处理软件,被广泛应用于工业自动化领域。 这个压缩文件中的图片是用来演示Halcon图像处理算法和技术的示例,通过这些图片可以直观地了解Halcon的功能和效果。这些图片往往是实际应用中的数字图像,经过Halcon算法处理后得到的结果。通过分析这些例子,用户可以学习到如何使用Halcon进行图像处理和分析。 除了图片外,压缩文件还包含了相应的例程文件。这些例程是实现相关图像处理算法的源代码,用户可以通过阅读和运行例程文件来学习和理解Halcon的图像处理算法。这些例程文件往往包含了详细的注释和说明,方便用户理解算法的原理和实现方式。 这个压缩文件是刘国华老师整理的,他是Halcon数字图像处理方面的专家,他的经验和教材在Halcon用户群体中非常有影响力。这个压缩文件对于正在学习Halcon的用户来说是一个宝贵的资源,能够帮助他们更好地掌握Halcon的图像处理技术。 总之,Halcon数字图像处理(刘国华)图片和例程.rar是一个重要的学习资料,通过查看其中的图片和运行例程,用户可以学习到Halcon数字图像处理的相关知识和技术。它对于进一步提升数字图像处理技能和应用Halcon进行工业自动化具有积极的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值