从黑色背景OpenCV C++中提取对象

Posted

技术标签:

【中文标题】从黑色背景OpenCV C++中提取对象【英文标题】:Extract object from black background OpenCV C++ 【发布时间】:2016-06-13 03:00:23 【问题描述】:

首先你必须知道我在 Visual Studio 中使用 C++ 中的 OpenCV。

我有一张像这样的照片:Original image

我想创建一张手的新图片,但黑色背景要少得多。 所以最终的图像应该是这样的:Final Image

我知道有一些 OpenCv 函数可以帮助我,但我在实现算法时确实遇到了麻烦,因为 OpenCv 不能在调试模式下使用,所以很难检查我在做什么。

有人知道如何进行吗?

非常感谢。

【问题讨论】:

一种 Canny 边缘检测器方法,用于查找边缘,然后可以裁剪图像。 (OR) 你需要找到凸包docs.opencv.org/2.4/doc/tutorials/imgproc/shapedescriptors/hull/…希望以上链接对你有帮助 非常感谢您的回答!就我而言,找到边界矩形更好,但这种方法也非常好。 【参考方案1】:

寻找轮廓,寻找边界矩形,裁剪。

这里是寻找边界框的例子:example

【讨论】:

非常感谢。这正是我所需要的。祝你有美好的一天 ! :)

以上是关于从黑色背景OpenCV C++中提取对象的主要内容,如果未能解决你的问题,请参考以下文章

从图像中删除黑色背景。

使用 OpenCV C++ 从黑白图像中提取四边形的角(极端角点)

在 OpenCV 中设置 ROI 之外的背景颜色

如何设置Dev c++ 编写代码时的背景界面为黑色?

Canny,先Scharr得梯度再Canny,三通道黑色背景展示结果(OpenCV案例源码edge.cpp)

C或C++编的程序 运行的背景怎么都是黑色