• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

基于MATLAB图像处理技术的,二值化图像边缘提取,能方便的提取出二值化图像的边缘,并以坐标点的形式存储,后续应用。基于MATLAB图像处理技术的,二值化图像边缘提取,能方便的提取出二值化图像的边缘,并以坐标点的形式存储,后续应用。

资源截图

代码片段和文件信息

%由一幅2值化的汉字轮廓图像顺时针或逆时针获取轮廓坐标
edgeIm = imread(‘D:\EdgeIm.bmp‘);
%figure imshow(edgeIm);

%edgeIm中非零元素的坐标,即轮廓坐标
[i j] = find(edgeIm);

%轮廓点数
numPoints = size(i 1);
curNum = 0;

%初始搜索点坐标
currentR = i(1 1);
currentC = j(1 1);

%初始化轮廓点坐标
points = zeros(numPoints 2);

%开始搜索
curNum = curNum + 1;
points(curNum:) = [currentR currentC];
edgeIm(currentR currentC) = 0;

while curNum ~= numPoints;
 if edgeIm(currentR currentC-1) == 1;
 curNum = curNum + 1;
 currentC = currentC - 1;
 points(curNum:) = [currentR currentC];
 edgeIm(currentR currentC) = 0;
 elseif edgeIm(currentR-1 currentC-1) == 1;
 curNum = curNum + 1;
 currentR = currentR - 1;
 currentC = currentC - 1;
 points(curNum:) = [currentR currentC];
 edgeIm(currentR currentC) = 0;

 elseif edgeIm(currentR-1 currentC) == 1;
 curNum = curNum + 1;
 currentR = currentR - 1;
 points(curNum:) = [currentR currentC];
 edgeIm(currentR currentC) = 0;

评论

共有 条评论