Opencv 应用平滑过滤器(双边、高斯、vs)和颜色空间

Opencv 应用平滑过滤器(双边、高斯、vs)和颜色空间,opencv,image-processing,smoothing,color-space,imagefilter,Opencv,Image Processing,Smoothing,Color Space,Imagefilter,在平滑图像时,我应该使用哪种颜色空间版本(灰度、RGB、HSV等)的滤镜,如高斯滤镜和双边滤镜,以获得最佳的去噪效果?是否有一个总的趋势,或者在不同的情况下会发生变化 此外,对于图像处理中的阴影消除,您建议使用什么过滤器和颜色空间?您应该始终将过滤器应用于RGB颜色空间。其他一些颜色空间也有意义,例如CIE-XYZ(这只是RGB颜色空间的旋转)和CIE Lab(这是XYZ的非线性变换,但欧几里德距离仍然有意义) HSV和类似的颜色空间有一个组件(色调),即角度。这里欧几里德距离没有意义:10度和

在平滑图像时,我应该使用哪种颜色空间版本(灰度、RGB、HSV等)的滤镜,如高斯滤镜和双边滤镜,以获得最佳的去噪效果?是否有一个总的趋势,或者在不同的情况下会发生变化


此外,对于图像处理中的阴影消除,您建议使用什么过滤器和颜色空间?

您应该始终将过滤器应用于RGB颜色空间。其他一些颜色空间也有意义,例如CIE-XYZ(这只是RGB颜色空间的旋转)和CIE Lab(这是XYZ的非线性变换,但欧几里德距离仍然有意义)

HSV和类似的颜色空间有一个组件(色调),即角度。这里欧几里德距离没有意义:10度和350度的平均值应该是0度,但结果是180度:过滤时,你会得到各种不合理的颜色

对于线性滤波器(如高斯滤波器),您可以分别独立地对每个RGB通道进行滤波。只要应用于每个通道的过滤器内核相同,结果就会正确


然而,对于非线性滤波器,单独过滤每个通道将导致假颜色。例如,双边滤波器需要在每个像素处构造一个内核。同一内核必须应用于该像素处的每个通道,以防止对象边缘出现假颜色。

您应该始终对RGB颜色空间应用过滤器。其他一些颜色空间也有意义,例如CIE-XYZ(这只是RGB颜色空间的旋转)和CIE Lab(这是XYZ的非线性变换,但欧几里德距离仍然有意义)

HSV和类似的颜色空间有一个组件(色调),即角度。这里欧几里德距离没有意义:10度和350度的平均值应该是0度,但结果是180度:过滤时,你会得到各种不合理的颜色

对于线性滤波器(如高斯滤波器),您可以分别独立地对每个RGB通道进行滤波。只要应用于每个通道的过滤器内核相同,结果就会正确


然而,对于非线性滤波器,单独过滤每个通道将导致假颜色。例如,双边滤波器需要在每个像素处构造一个内核。必须将同一内核应用于该像素处的每个通道,以防止对象边缘出现假颜色。

要去除阴影,可以展平亮度,即转换为HSV,设置恒定V并转换回RGB。但同时,这将破坏所有的对比。简单的滤镜无法区分阴影和真实的颜色变化。

要去除阴影,可以将亮度展平,即转换为HSV,设置恒定的V并转换回RGB。但同时,这将破坏所有的对比。一个简单的过滤器无法区分阴影和真实的颜色变化