最近在学习数字图像处理的一些知识,在看《图像处理、分析与机器视觉》(Milan Sonka著)这本书,在将图像分割I那部分提到了一个内边界跟踪算法(算法6.6),于是尝试用C++去实现以下,由于本人编程基础很差且逻辑思维能力也差,实现的过程中走了很多弯路······最初的版本使用了很多for循环,导致代码的可读性差还有计算效率非常低(运行半天都得不到结果······),于是将部分循环用递归调用替换了,加快了计算速度。下面就是算法的原理和实现。
算法原理:
(懒人不想打字,抱走了博主https://blog.csdn.net/coming_is_winter/article/details/72772878的图,看不懂原理的可以参考这位博主的解释)
实现:
#include<core.hpp>
#include<highgui.hpp>
#include<iostream>
#include<stdlib.h>
using namespace cv;
using namespace std;
int Findnext