首先我们先从图像本身入手, 看看是不是在这个 demo image 上出了什么问题,
解决方法:
更换图像, 查看新的输出。
我尝试了行的一批图像,但是结果和之前的差不多,
可是在这中间我发现了一些问题, 也就是如果你使用相同的一组数据, 也就是一个人的.nii.gz 的文件,
但是你取不同的片(slice), 譬如我的这一组数据共有64个slice , (64, 512, 512)
我们分别取 [0] , 和 [40] , 那么当 clip的最小值为0 时, [40] , 出现了全白的情况, 而[0] 却没有出现这种情况。
对于 [40] , 我将其clip的最小值向下取到 -5, 那么就会出现和之前相同的情况,
即cv2.imshow 输出的两张图像看起来是相同的两张。
-----
[40 ] 的HU_min 和 HU_max 如下:
the min value in piece is -1024.0
the max value in piece is 1264.0
-----
[0 ] 的HU_min 和 HU_max 如下:
the min value in piece is -1024.0
the max value in piece is 1103.0
从HU值上来看, 二者不应当差这么多呀!!!!!
截图如下:
下面的分别是左侧和右侧的直方图。
仅仅是如此微小的数值变化就有了这么大的改变, 这是为什么呢???
估计还是核心问题没能解决, 也就是cv2. imshow() 的显示问题
我们的矩阵中有很多 远超255 的值, 它是如何处理的呢?
还是我的路走错了, 不应当使用 cv2.imshow 来直接输出, 应当先映射一下?