【发布时间】:2019-02-08 18:15:01
【问题描述】:
我正在研究图像处理特征提取。我有一张鸟的照片,我必须在其中提取鸟类区域并告诉鸟的颜色。我使用精明的特征提取方法来获取鸟的边缘。
如何只提取鸟类区域并将背景设为蓝色?
openCv 解决方案也应该没问题。
import skimage
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import os
filename = os.path.join(os.getcwd(),'image\image_bird.jpeg')
from skimage import io
bird =io.imread(filename,as_grey=True)
plt.imshow(bird)
from skimage import feature
edges = feature.canny(bird,sigma=1)
plt.imshow(edges )
实拍鸟图可取自bird link
【问题讨论】:
-
问题是什么?
-
我想从图像中提取鸟,然后创建鸟颜色的直方图@desertnaut
-
背景是否总是模糊不清或颜色大致一致?
-
背景颜色统一,但可以是任何颜色@SilverMonkey
-
尝试使用normalized-cut 分割图像,然后使用与 Canny 找到的边缘图重叠的标签。这样,您可以准备一个前景蒙版,从中提取您感兴趣的像素,以计算直方图。如果您只想为背景着色,可以使用前景蒙版轻松完成。
标签: python opencv image-processing scikit-learn scikit-image