我正在 MATLAB 中开发一个项目,该项目将从图像中提取背景,就像这是一个图像
它应该给我背景(蓝色部分)或人像的位置/坐标,到目前为止我已经计算过了
1) 使用精明的边缘
2) 连接组件
有没有详细的工作、算法或论文?所以我可以做到。
编辑
我面临的问题是如果我检测到边缘,它会给我binary
图像,所以如果我假设所有具有值0
(黑色)的像素都是我的背景,那么我将如何区分I(r,c)是人的一部分还是背景的一部分?
我正在 MATLAB 中开发一个项目,该项目将从图像中提取背景,就像这是一个图像
它应该给我背景(蓝色部分)或人像的位置/坐标,到目前为止我已经计算过了
1) 使用精明的边缘
2) 连接组件
有没有详细的工作、算法或论文?所以我可以做到。
编辑
我面临的问题是如果我检测到边缘,它会给我binary
图像,所以如果我假设所有具有值0
(黑色)的像素都是我的背景,那么我将如何区分I(r,c)是人的一部分还是背景的一部分?
请注意,这只是一种方法,但它应该可以工作。
假设您可以制作具有以下值的矩阵:
1 if it is (in the range of) your background color
0 otherwise
并且假设背景只是在人的“外部”(尽管如果背景周围只有一点头发,它可能仍然有效),那么检查某物是否是背景的简单方法是
到目前为止,它非常简单,甚至没有使用您已经计算边缘的事实。现在有了这些优势,您可以进行以下改进:
如果一个像素在边缘“内部”足够远(更简单:离边缘中心足够近),则不要将其视为背景的候选者。如果有人有蓝色的大眼睛,这应该会有所帮助。