如何解决标准偏差图像分析
我目前正在运行一个程序,在其中读取图像文件夹,这些图像被转换为 .float64 值,然后我使用这些值来查找平均和标准偏差图像。然后,我将在图像中绘制随时间的变化,但这部分是在我的问题之后出现的。我一直在修补这个问题一段时间,但我一直无可救药地坚持我的标准偏差。
我已经写出了公式的工作原理,我相当确定我的代码完美地反映了该公式,但是我所有的值都太高了,所以当我尝试显示图像时全白。
sumImg = []
imgList = []
在这里,我将浏览我的文件夹,获取图像文件,将它们转换为 float64,并将这些值用于平均图像以及制作标准偏差的图像列表。
for filename in files:
img = Image.open("./data/" + filename)
img = np.float64(img)
imgList.append(img)
try:
sumImg += img
except:
sumImg = img
avgImg = sumImg/len(imgList)
这是我认为我的问题所在,但我不确定。在这个数学中的某个地方,我的价值观越来越高,远高于应有的水平。
#standard deviation is:
#the square root of {(the sum of {(every number in your list minus the average) squared})
#divided by the number of items in the list minus 1}
stdImg = []
for image in imgList:
try:
stdImg += (image - avgImg)**2
except:
stdImg = (image - avgImg)**2
stdImg = np.sqrt(stdImg/(len(imgList)))
stdImg = np.clip(stdImg,255)
stdImg=np.uint8(stdImg)
mplot.imshow(stdImg)
此后,剩下的就是将标准偏差与用户定义的阈值进行比较,并突出显示超出阈值的任何区域,这将指示图像列表中的移动。我是 Python 新手,所以这可能是某个地方的一个简单错误。谢谢!
解决方法
解决了,图片没有被添加到列表中,必须用 .insert() 替换 .append()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。