我正在尝试在我的图像上使用 scikit-image 的自适应阈值。我从这里测试了他们的示例代码
import matplotlib.pyplot as plt
from skimage import data
from skimage.filters import threshold_otsu, threshold_adaptive
image = data.page()
global_thresh = threshold_otsu(image)
binary_global = image > global_thresh
block_size = 35
binary_adaptive = threshold_adaptive(image, block_size, offset=10)
fig, axes = plt.subplots(nrows=3, figsize=(7, 8))
ax0, ax1, ax2 = axes
plt.gray()
ax0.imshow(image)
ax0.set_title('Image')
ax1.imshow(binary_global)
ax1.set_title('Global thresholding')
ax2.imshow(binary_adaptive)
ax2.set_title('Adaptive thresholding')
for ax in axes:
ax.axis('off')
plt.show()
该代码接收一个示例图像,对其进行阈值处理并使用 plt. 但是,我正在尝试检索阈值图像的 numpy 数组。当我尝试cv2.imwrite
在变量上使用时binary_global
,它不起作用。打印出来时binary_global
-- 它实际上是一个由 False 和 True 值而不是数字组成的数组。我不确定 plt 如何使用它并生成图像。无论如何,我如何对图像进行阈值处理并使用 RGB 值检索新的阈值图像数组?