发布时间:2025-12-10 20:01:43 浏览次数:21
regionprops函数用法详解_图像质量指标此部分属于图像描述的内容,在对图像二值化,提取出轮廓之后,可以通过计算轮廓区域的面积、周长等几何特征参数来实现图像的识别和分类。在matlab里面,可以通过Regionprops函数返回图像区域的可度量属性,其基本用法是:stats=regionprops(BW,properties),其中,stats是以结构数组的形式返回值,BW为输入的二值图像,Properties为测量类型,下面对其中常…
此部分属于图像描述的内容,在对图像二值化,提取出轮廓之后,可以通过计算轮廓区域的面积、周长等几何特征参数来实现图像的识别和分类。在matlab里面,可以通过Regionprops函数返回图像区域的可度量属性,其基本用法是:stats = regionprops(BW,properties),其中,stats是以结构数组的形式返回值,BW为输入的二值图像,Properties为测量类型,下面对其中常用的几个进行进行简单的介绍。
BoundingBox:找到包含该连通区域的最小矩形
实现方法:根据pixellist,找横纵坐标的最小值和最大值即可得左上角和右下角的坐标。
输出:左上角的坐标和矩阵的高宽。[x(列号),y(行号),矩形高度,矩形宽度]
Extent:返回连通区域和其最小边界矩形中的像素比例 ( Area/边界框区域)
用途:判断区域矩形度。值越趋近于1,区域越趋近于矩形。
EquivDiameter:与区域具有相同面积的圆的直径
公式:EquivDiameter = sqrt(4*Area/pi)
用途:判断区域圆度
Solidity:统计在区域和其最小凸多边形中的像素比例
公式:Solidity = Area/ConvexArea
用途:计算凸性
Eccentricity:与区域具有相同标准二阶中心矩的椭圆的离心率,即为焦距/长轴
用途:判断区域扁平程度,离心率越大越扁平
在MATLAB中的代码实现如下:
clc;clear;close all;f = imread('2.jpg');I=edge_extr(f); figure;imshow(I);stats = regionprops(I,'Centroid','ConvexHull','BoundingBox');data(1,1:2) = cat(1,stats(1).Centroid);%基本信息%凸包tn = stats.ConvexHull;hold on;h = patch(tn(:, 1), tn(:, 2), 'r');set(h, 'FaceColor', 'none', 'EdgeColor','r', 'Marker', '.');%外接矩形figure; imshow(I);tn = stats.BoundingBox;hold on;h = rectangle('Position', tn, 'EdgeColor','r'); 是否还在为Ide开发工具频繁失效而烦恼,来吧关注以下公众号获取最新激活方式。亲测可用!
【正版授权,激活自己账号】:Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】:官方授权 正版激活 自己使用,支持Jetbrains家族下所有IDE…