首页 > 代码库 > 使用OpenCV3处理图像

使用OpenCV3处理图像

不同色彩空间的转换

当前,在计算机视觉中有三种常用的色彩空间:灰度、BGR、以及HSV(Hue,Saturation,Value)

  1. 灰度色彩空间是通过去除彩色信息来将其转换成灰阶,灰度色彩空间对中间处理特别有效,比如人脸检测。
  2. BGR,即蓝绿红色彩空间,每一个像素点都有一个三元数组来表示,分别代表蓝绿红三种颜色。与RGB只是在颜色的顺序上不同。
  3. HSV,即色调、饱和度、亮度。

绘画遵从减色模型,而运行在计算机上的软件所使用的色彩模型是加色模型。

 

傅立叶变换

  人们所看到的波形都是由其他波形叠加得到的。这个概念对操作图像非常有帮助,因为这样我们可以区分图像里哪些区域的信号(比如图像像素)变化特别强,哪些区域的信号变化不是那么强,从而可以任意地标记噪声区域、感兴趣区域、前景和背景等。原始图像由许多频率组成,人们能够分离这些频率来理解图像和提取感兴趣的数据。

  在OpenCV中有许多算法能够实现变换,在NumPy中也有实现,并且更容易使用,里面有FFT的包,包含fft2()函数,该函数可以计算衣服图像的离散傅立叶变换(DFT)

  幅度谱图像:把衣服图像中最明亮的像素放到图像中央,然后逐渐变暗,在边缘上的像素最暗,这样可以发现图像中有多少亮的像素和暗的像素,以及它们分布的百分比。

1  高通滤波器

  高通滤波器(HPF)是检测图像的某个区域,然后根据像素与周围像素的亮度差值来提升该像素的亮度的滤波器。

  以如下的核(滤波器矩阵)为例:

技术分享
[[0,-0.25,0] [-0.25,1,-0.25] [0,-0.25,0]]核是指一组权重的集合,它会应用在源图像的一个区域,并由此生成目标图像的一个像素。比如,大小为7的核意味着每49(7x7)个源图像的像素会产生目标图像的一个像素。可以把核看作一块覆盖在原图像上可移动的毛玻璃片,玻璃片覆盖区域的光线会按某种方式进行扩散混合后透过去。

 

使用OpenCV3处理图像