OpenCV实战(14)——图像线条提取
0. 前言
基于内容的图像分析,需要从构成图像的像素集合中提取有意义的特征。轮廓、线条、区域等是基本的图像基元,可用于描述图像中包含的元素。本节将介绍如何提取重要的图像线条特征。
1. 检测图像轮廓
1.1 图像轮廓
图像轮廓包含了重要的视觉信息,可以用于描绘图像元素,因此,通常用于物体识别等计算机视觉任务。然而,简单的二值轮廓图有两个主要缺点:检测到的边缘过粗,使较小物体难以识别;更重要的是,我们通常不可能恰巧找到一个能够同时检测图像所有重要边缘并舍弃不重要边缘的阈值,Canny
算法用于解决两者之间的权衡问题。
1.2 使用 Canny 算子检测图像轮廓
Canny
算法在 OpenCV
中由 cv::Canny
函数实现,该算法需要指定两个阈值。
(1) 要将 Canny
算法应用于加载的图像,必须首先创建一个新的 cv::Mat
结构来存储结果并调用 cv::Canny
函数: