本文主要是介绍图像形态学轮廓处理人脸边缘轮廓提取(下巴、嘴唇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
形态学轮廓提取
流程分析
原图像imgA:
噪声滤除图像imgB:
腐蚀处理图像imgC:
相减操作图像imgD:
二值化处理结果imgE:
原理分析:
2.1膨胀:求像素的局部最大值
将图像(或图像的一部分区域,我们称之为A)与核(我们称之为B)进行如下卷积操作:
2.2腐蚀:求像素的局部最小值
将图像(或图像的一部分区域,我们称之为A)与核(我们称之为B)进行如下卷积操作:
(膨胀腐蚀原理详细可参见博客:http://blog.sina.com.cn/s/blog_6f57a7150100ooin.html 非常感谢博主的分享。)
2.3噪声滤除:
开运算: A∘ B=(A⊝B)⊕B
闭运算: A·B=(A⊕B)⊝B
噪声滤除: {[(A⊝B)⊕B]⊕B}⊝B=(A∘ B)·B
在上图中,(a)是原图像,外部有噪声块,内部有噪声孔,(b)为结构元素,尺寸大于所有噪声块和噪声孔,(c)是用(b)去腐蚀(a)的结果,可见,外部的噪声块被去除;之后用(b)去膨胀(c)两次,得到(e),此时已经去除了内部的噪声孔,在进行一次腐蚀操作,得到和原图一样大小的去噪图像(f)。实验对比:
3.1图像格式对比:
参数设置:不进行噪声滤除,腐蚀2次,十字核,尺寸3*3
二值图像;
灰度图像:
RGB图像:
3.2核样式对比:
参数设置:RGB图像,不进行”噪声滤除”,腐蚀1次,尺寸5*5,二值化阈值100.
3.3核尺寸对比:
参数设置:RGB图像,不进行”噪声滤除”,十字型核样式,腐蚀1次,二值化阈值100
3.4腐蚀次数对比:
参数设置:RGB图像,不进行”噪声滤除”,十字型核样式,尺寸5*5,二值化阈值100
3.5噪声滤除强度对比:
参数设置: RGB图像,十字型,腐蚀1次,核样式,尺寸5*5,二值化阈值100
3.6对比分析:
图像格式:RGB格式提取轮廓效果较好,灰度和二值图像信息相对有限。
核样式:十字型效果最佳,矩形和圆形容易造成噪点。
核尺寸:尺寸过小,轮廓提取不完整;尺寸过大,容易出现噪点。
腐蚀次数:腐蚀次数过小,轮廓提取不完整;次数过多,容易出现噪点,且轮廓边缘强度过大。
噪声滤除:影响把图像轮廓深度信息提取。(标红区域)代码:
morphology.h
#pragma once
#include "stdafx.h"
#include "opencv2/highgui/highgui.hpp"
#include <opencv2/opencv.hpp>
#include <iostream>
using
这篇关于图像形态学轮廓处理人脸边缘轮廓提取(下巴、嘴唇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!