细心的伙伴不难发现上图的每个图形外面都画了一圈黑色虚线,不错,这些虚线就是根据图形轮廓提取的图像坐标绘制的。
之前有伙伴在咱们的QQ交流群中询问有关图像轮廓坐标提取的问题,今天就给大家念叨念叨。
今天给大家介绍两种提取轮廓坐标的方法。处理过程如下:读取想要处理的图像,将图像二值化,再通过图像边缘坐标提取函数直接进行提取即可。本文介绍两个函数涉及轮廓坐标提取的函数:
① bwboundaries,功能:提取图像的边界位置
clc;clear;close all;
I = imread('bird.jpg'); % 读取目标图像
% RGB到二值图转换
if(size(I,3) == 3)
IG = rgb2gray(I);
bw = imbinarize(IG); % 二值化
elseif (islogical(I))
bw = I;
else
bw = imbinarize(I); % 二值化
end
% 法一
bw = imfill(~bw,'holes');
bound = bwboundaries(bw,8,'noholes');
x = bound{1}(:,2);