【发布时间】:2020-09-27 00:45:03
【问题描述】:
我试过这段代码
from skimage import io
temp = io.imread(mask_input_path)
plt.imshow(temp)
这会显示一个正常的图像,因此输出是黑色的。
【问题讨论】:
我试过这段代码
from skimage import io
temp = io.imread(mask_input_path)
plt.imshow(temp)
这会显示一个正常的图像,因此输出是黑色的。
【问题讨论】:
就像普通图像一样。如果您的整个蒙版是黑色的,则意味着您的图像中不存在所需的对象。
但要仅选择蒙版区域,您需要在代码上多写 2 行
import matplotlib.pyplot as plt
input_img = plt.imread('img.jpg')
mask_img = plt.imread('mask.jpg')
# select only masked area below
masked = input_img.copy()
masked[mask_img == 0 ] = 0
fig, axes = plt.subplots(1, 3, figsize=(16, 12))
ax = axes.flatten()
ax[0].imshow(input_img, cmap="gray")
ax[0].set_axis_off()
ax[0].set_title("Original Imput Image", fontsize=12)
ax[1].imshow(mask_img, cmap="gray")
ax[1].set_axis_off()
ax[1].set_title("Mask", fontsize=12)
ax[2].imshow(masked, cmap="gray")
ax[2].set_axis_off()
ax[2].set_title("Masked", fontsize=12)
plt.show()
实际使用
masked[mask_img < 30 ] = 0
给出稍微好一点的结果,因为在我的情况下掩码值不完全为零
【讨论】: