为了掌握编码技巧,我决定使用Python/Numpy/SKimage确定x射线照片某个区域的标准偏差。首先,我决定使用阈值来获得图像的一部分,这并不难。在
然而,在这一点上,所有高于/低于阈值的东西都是零,因此我想做的测量包括在内。因此,我需要排除低于/高于阈值的数据。在
我想它可以创建一个地图,或者排除某些价值的或者可能更奇特的解决方案。然而,在这一点上,我认为我可能是朝着错误的方向前进。在
我的基本知识-
import numpy as np
import matplotlib.pyplot as plt
import imageio
image = imageio.imread('thx.jpg', as_gray=True)
image = image.astype('int32')
test1 = np.array(image, copy=True)
test1[image >= 100] = 0
我在寻找一种排除高于/低于阈值的数据的方法。有人能帮我往正确的方向推一下吗?在
编辑:偶尔有一天的轻松工作很不错;我问题的一个次要解决方案是将所有大于或小于该值的值添加到列表中,并确定与列表的标准偏差。然而,这给我留下了一个问题,即如何将噪声实现到图像段。在
^{pr2}$
我想问题是你把所有的像素都设为零,然后试着从中得到统计数据。相反,要意识到
test1[image < 100]
只指那些低于阈值的像素。。。所以我想你可以从中得到你的统计数据,比如用np.std(test1[image < 100])
。在您可能想看看^{} ,它包含了很多用于阈值分割、处理二进制图像、将它们用作遮罩(这实际上就是您正在做的)等工具
让我们首先生成一个模拟图像:
让我们通过双阈值来定义感兴趣的区域:
^{pr2}$Boolean indexing是计算感兴趣区域标准差的一种可能方法:
将不需要的像素设置为} 来计算标准偏差,这是另一种方法:
np.nan
,并使用NumPy的^{您可以使用scikit images的^{} 生成一个噪声图像,然后通过NumPy的^{} 过滤掉感兴趣区域之外的像素:
相关问题 更多 >
编程相关推荐