Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将图像中的斑点转换为白色背景?_Python_Opencv_Extract_Feature Extraction_Feature Detection - Fatal编程技术网

Python 如何将图像中的斑点转换为白色背景?

Python 如何将图像中的斑点转换为白色背景?,python,opencv,extract,feature-extraction,feature-detection,Python,Opencv,Extract,Feature Extraction,Feature Detection,我试图在图像中提取网球的颜色特征。为了简化操作,我认为将网球转移到白色画布上,然后提取特征会更好。我通过直方图提取颜色特征 我使用了一个meanshift图像分割算法,对网球下落的视频帧进行分割()。最初,我将一个框架转换为灰度,并从更新的框架中生成一个直方图,但我意识到这是无效的,因为我正在尝试提取颜色特征。因此,我现在尝试将网球的颜色转移到白色画布上,以便更容易将网球的颜色特征提取到直方图中。从分割图像: 我们可以注意到色差非常明显。在这种情况下,我们可以简单地转换为一个颜色空间,可以更好

我试图在图像中提取网球的颜色特征。为了简化操作,我认为将网球转移到白色画布上,然后提取特征会更好。我通过直方图提取颜色特征


我使用了一个meanshift图像分割算法,对网球下落的视频帧进行分割()。最初,我将一个框架转换为灰度,并从更新的框架中生成一个直方图,但我意识到这是无效的,因为我正在尝试提取颜色特征。因此,我现在尝试将网球的颜色转移到白色画布上,以便更容易将网球的颜色特征提取到直方图中。

从分割图像:

我们可以注意到色差非常明显。在这种情况下,我们可以简单地转换为一个颜色空间,可以更好地为我们分离这些颜色,如HSV。在HSV中,色调通道包含颜色变化数据。在此图像中,这是色调通道:

由此,您只需分析图像直方图并确定一个简单的阈值。通过应用阈值,您可以达到以下目标:

这是OpenCV文档中关于如何在Python中实现这一点的教程。如果无法手动选择此阈值,则可以在H通道(来自HSV图像)上使用Otsu的二值化方法()


然后,您可以使用此二值图像作为遮罩来提取更多特征。您不需要将图像转换为白色/黑色背景,但是,如果您愿意,可以应用此遮罩。请参阅。

分享您迄今为止的尝试,并询问其中的具体问题;StackOverflow的目的不是让这里的人创建一个解决方案或打开“如何”的问题。你现在有什么?图像中的网球是否已分割?如果是这样的话,您是否考虑过使用分割的二值图像作为直方图计算的遮罩?我在网球下落的视频帧上使用了均值漂移图像分割算法。最初,我将一个框架转换为灰度,并从更新的框架中生成一个直方图,但我意识到这是无效的,因为我正在尝试提取颜色特征。因此,我现在尝试将网球的颜色特征转移到白色画布上,这样更容易将网球的颜色特征提取到直方图中。不过,我没有考虑过使用分割的二值图像作为直方图计算的遮罩。现在,我将把你输入的图像和处理过的图像发布到一些免费的托管服务中,并把URL放在这里。