OpenCV关于图像的操作:
1, 图像的掩膜操作:
a) filter2D
2, 查找检测物体轮廓:
a) FindContours
b) 用来检测物体的轮廓
3, 图像混合:
a) addWeighted
b) 将两张相同大小,相同类型的图片融合的函数。
4, 图像二值化:
a) threshold
b) 将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。
5, 边缘检测:
a) Canny:边缘检测
b) 对输入图像进行边缘检测。
6, 霍夫直线变换:用来做直线检测,需要边缘检测已完成。
a) HoughLines 最终转换为极坐标
b) HoughLinesP 输出极坐标表示直线
c) HoughCircle 霍夫圆检测
7, 图像的模糊操作:
a) 均值滤波:blur
b) 高斯滤波:GaussianBlur
c) 中置滤波:medianBlur
d) 双边滤波:bilateralFilter
均值滤波无法克服边缘像素信息丢失的缺陷,原因是均值滤波是基于平均权重。高斯滤波虽然克服了均值滤波的缺陷,但是无法完全避免,因为没有考虑像素值的不同,只是基于空间分布考虑。双边滤波避免了边缘信息丢失,保留了图像的轮廓不变。
8, 图像的腐蚀和膨胀:
a) Dilate:对输入图像用特定结构元素进行膨胀操作,该结构元素确定膨胀操作过程中的邻域的形状,各点像素值将被替换为对应邻域上的最大值。
b) Erode:与膨胀一致,区别在于用最小值替换中心位置值。
9, 图像的形态学操作:
a) 开操作:open
消除白色的小点,去除小的干扰块
b) 比操作:close
消除黑色的小块,填充闭合区域
c) 顶帽操作:top hat
原图像 减去 开操作
d) 黑帽操作:black hat
闭操作 减去 原图像