machine-learning - skimage.filters.threshold_mean 的返回类型不应该是 0-255 吗?
问题描述
bw_image = sk_col.rgb2gray(image)
fig = plt.figure(figsize=(3,3))
plt.imshow(bw_image, cmap="gray")
plt.show()
mean_val = threshold_mean(bw_image)
print('*****',mean_val,'******')
binary_image = bw_image > mean_val
fig = plt.figure(figsize=(3,3))
plt.imshow(binary_image, cmap="gray")
plt.title("Mean Threshold: " + str(mean_val))
plt.show()
问题是为什么我的平均值是 0.386 。我不应该得到 0-255 左右的值吗?skimage.color.rgb2gray 函数应返回像素范围为 0-255 的图像。但是当我打印像素时,我看到了 0 到 1 之间的值。
对于这种混乱,我无法理解如何找到二进制图像。检查了 skimage.color 的文档,但没有发现任何帮助。
解决方案
skimage.color.rgb2gray(image) 方法返回标准化后的值,这就是所有值都在 0-1 之间的原因。答案就是这么简单。
推荐阅读
- java - 为什么 List.contains(Object) 的行为不同?
- r - 如何在同一个数据帧上做colsum和average
- powerbi - 使用 DAX 生成日期系列
- javascript - 仅在服务器上需要一个包
- java - Intellij IDEA 仅针对所有未提交的更改运行测试
- regex - 在换行符之前匹配字符,不包括空格?
- macos - MacOS - 使用带有launchd的脚本 - 启动,登录,注销,关闭?
- service-worker - Workbox 的服务人员在更改时未更新
- python - AllenNLP 共指分辨率的多 GPU 训练
- reactjs - 事件处理程序中带有 [name] 的 PrevState