赞
踩
简单介绍
在实际的应用中,我们常常需要对图像中的曲线进行描述、处理,这个曲线可以是轮廓,骨架或者其他。可以用deque 描述曲线,接下来简单介绍下如何从图片中搜索这些曲线并保存。
首先,输入的图片是一张二值图片 (白色为曲线),其中包含的曲线宽度为 1 像素的 (如果曲线不是 1 像素的 先提取其骨架)。遍历寻找图像中第一个白色的点,然后从这个点开始延伸寻找曲线。注意,第一个找到的点不一定是曲线的端点,因此应该分别向两边寻找相邻的点,因此deque 会好一些。每找到一个点,将其保存deque 而后置黑(防止重复寻找)。搜索到一个没有相邻点的点,表示一端搜索完成。
值得注意的一点是,我在写搜寻相邻点的时候,会首先搜寻此点与上一个点相邻位置相对的位置,如果没有,则分别搜索向两边搜索。这样的好处是可以减少寻找的次数,而且当有相交的曲线时,能连接到我们一般认为的曲线。
代码
//寻找图像曲线上某个点的下一个点
bool findNextPoint(vector &_neighbor_points, Mat &_image, Point _inpoint, int flag, Point& _outpoint, int &_outflag)
{
int i = flag;
int count = 1;
bool success = false;
while (count <= 7)
{
Point tmppoint = _inpoint + _neighbor_points[i];
if (tmp
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。