资源简介
冈萨雷斯的数字图像处理孔洞填充方法运行缓慢,写了个简略的版本。文档附带测试图片
代码片段和文件信息
#include
using namespace cv;
Mat holefill(Mat& src);
int main(){
Mat src = imread(“1.png“ 0);
namedWindow(“src“ WINDOW_NORMAL);
imshow(“src“ src);
Mat dst = holefill(src);
namedWindow(“dst“ WINDOW_NORMAL);
imshow(“dst“ dst);
waitKey(0);
return 0;
}
Mat holefill(Mat& src){
Mat dst = src.clone();
bool start = 0;
int n = 0;
for (size_t i = 0; i < dst.cols*dst.rows; i++){
if (start == 0){
if (dst.data[i] == 255){//判断是否开始填充
if (dst.data[i + 1] == 255)//判断是否有连续点
continue;
else{
start = 1;
n = 0;
continue;
}
}
}
else{
if (dst.data[i] == 255)//判断是否关闭填充
start = 0;
else{
if ((i + 1) % dst.cols == 0){//一行只有一个点,删除之前所填充的点,并且关闭填充
int j = i - 1;
int m = 0;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18020 2018-09-01 20:03 holefill\1.png
文件 1050 2019-08-26 10:57 holefill\holefill.cpp
文件 49 2019-08-26 10:59 holefill\Readme.txt
目录 0 2019-08-26 10:58 holefill
----------- --------- ---------- ----- ----
19119 4
相关资源
- Thinking in C++中文版
- C++语言程序设计_第四版_郑莉_高清p
- 东南大学C++课件-何洁月80讲(总).
- DevC++
- C/C++实验系统
- 一个月挑战c++
- vsC++编程新手指导
- C++语言编程器
- VS2008 windows应用程序C++
- C++深入版
- C++PPT
- C++沉思录
- c++核心编程技术
- C++出错提示英汉对照
- c++/c语言学习系统
- C和C++安全编码(中文版)
- c++基础教程
- VC++6.0
- Microsoft Visual C++ 2010
- 嵌入式CC++语言精华文章集锦
- 交通灯管理仿真程序
- CC++库函数
- C++_STL使用例子大全
- C C++精华帖合辑(新手必看)
- C++ 基本语法及实例说明
- 《算法竞赛入门经典》
- C++API
- c++深度剖析木马程序
- c++练习题
- vc++6.0初学入门教程(PDF编辑版)
评论
共有 条评论