opencv - 使图像的背景变白

标签 opencv machine-learning computer-vision image-recognition

我有几张这样的图片,并尝试使用 Neural NetworksGIST 作为特征来识别对象。我的数据集有 50 个类别,每个类别有 4 张图像。使用 75% 的图像作为训练数据,我得到了 83% 的测试准确率

enter image description here

为了提高准确性,我想对图像进行预处理,即我想使背景透明或白色,同时保留原始对象。我一直在尝试 cv2.BackgroundSubtractorMOG2() 但它使整个图像变灰。

预处理此图像的最佳方法是什么?

最佳答案

您可以尝试使用 GrabCut这个问题的算法。由于您知道对象大致位于中心,因此您可以尝试构建对象的颜色分布并从图像的边界收集背景样本。

OpenCV 文档可以在这里找到: http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html#grabcut

这里有一个例子:https://github.com/Itseez/opencv/blob/master/samples/cpp/grabcut.cpp

关于opencv - 使图像的背景变白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30273249/

相关文章:

image - 将素描(绘图)人脸照片与数码彩色照片相匹配

python - 如何使用python opencv和anaconda为两张图片创建一个新的交错图像

python - 使用边缘检测和 scikit-image 在 Python 中去除背景/屏蔽

machine-learning - 从科学论文中提取特定信息

machine-learning - 什么是适合预测文章受欢迎程度的神经网络架构?

algorithm - 如何将相似面孔的照片组合在一起

python - 平滑手写数字中的极值点

machine-learning - 测试预测值相对于已知值的准确性

opencv - 在 OpenCV 中使用 k-means 进行颜色分类

Azure 计算机视觉将图像旋转 180 度