- 计算机视觉中有三种常用色彩空间
- 灰度 去掉彩色信息,转换为灰阶
- BGR 蓝绿红的色彩空间,每个像素点用一个三维数组来表示
- HSV H 色调、S 饱和度、V 程度
- 高通滤波器
检测图像的某个区域,根据像素与周围像素的亮度差值来提升该像素亮度的滤波器
计算完中央像素与周围临近像素后,如果亮度变化很大,中央像素会增加(相反不会),如果一个像素比它周围突出很多,就会提升他的亮度,这对边缘检测就比较有效了。。。
定义两个核,与图像卷积看看效果
import cv2
import numpy as np
from scipy import ndimage
kernel_3X3 = np.array([
[-1,-1,-1],
[-1, 8,-1],
[-1,-1,-1]
])
kernel_5X5 = np.array([
[-1, -1 ,-1, -1, -1],
[-1, 1, 2, 1, -1],
[-1, 2, 4, 2, -1],
[-1, 1, 2, 1, -1],
[-1, -1, -1, -1, -1]
])
将图片灰度读出,与自定义的核进行卷积,看下效果
img = cv2.imread("img/Lena.jpg",0)
cv2.imshow('img',img)
k3 = ndimage.convolve(img, kernel_3X3)
k5 = ndimage.convolve(img, kernel_5X5)
cv2.imshow('3X3',k3)
cv2.imshow('5X5',k5)
- 低通滤波器
检测图像的某个区域,在像素与周围像素的亮度差值小于一个特定值时,平衡该像素的亮度,它主要用于去噪与模糊
- 另外的实现方式:对图像采用低通滤波器后,再与原图像计算差值,来实现