图像处理基础-圆形和多边形检测

使用语言:matlab

圆形检测

%圆形检测demo
%可以自己设置边缘检测算子
clear;clc;close all
I=rgb2gray(imread("D:\图片库\图片库\涂鸦\_J5A1617.JPG"));
SE=strel('ball',5,5);%构造圆形结构元素
I2=imdilate(I,SE);%膨胀
I2=imerode(I2,SE);%腐蚀
BW=edge(I2);
imshow(BW);
[c,r]=imfindcircles(BW,[20 300],'ObjectPolarity','dark');
viscircles(c,r,'LineStyle','--');

先闭操作关闭前景物体中的小孔

多边形检测

clear;clc;clear all
I=imread("C:\Users\admin\Desktop\1.png");
BW=rgb2gray(I);
BW=edge(BW,'canny');
BW=bwareaopen(BW,800);%删除像素点小于100的连通分量
[L,num]=bwlabel(BW,8);%应用8连通区域获得N个不同区域
%将笛卡尔坐标系换成极坐标系,并求出角度和长度的关系
for n=1:num
    temp=L==n;%每一个模块都被标记成了数字
    %去除全为零的行列
    temp=temp(any(temp'),:);
    temp=temp(:,any(temp'));
    [S_x,S_y]=size(temp);
    [x,y]=find(temp~=0);%找到边界点坐标
    x=(x-S_x/2)./S_x;y=(y-S_y/2)./S_y;%移动原点到中间位置,由于行列比例不同,需进行归一化
    [theta,rho]=cart2pol(x,y);%将笛卡尔坐标转化为极坐标
    r=sortrows([theta/pi*180,rho]);%依照角度排序
    %如果ρmin不在第一或者最后,将ρ最小的前面的角度加上360°并移到最后
    if min(r(:,2))~=r(1,2)||min(r(:,2))~=r(1,end)
        [addr,~]=find(min(r(:,2))==r(:,2));%找到最小值所在的点,最小值的位置也许不止一个
        r(1:addr(1)-1,1)=r(1:addr(1)-1,1)+360;
        r=circshift(r,1-addr(1));%向后移
        theta=r(:,1)/max(r(:,1));tho=r(:,2)/max(r(:,2));%归一化
    end
    %显示
    subplot(2,num,n);imshow(temp);
    subplot(2,num,n+num);plot(theta,tho);%θ和ρ的关系图
    title('θ和ρ的关系图')
    %根据抽样样本的极大值判断类型
    tho=tho(round(linspace(1,length(theta),min([length(theta),40]))));%tho取40个样本
    peak_num=length(findpeaks(tho));%找到极大值
    xlabel([num2str(peak_num),'边形'])
end

该算法有所缺陷,检测效果不佳,有待改进。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 圆形 ROI 和矩形 ROI 算子是图像处理中常用的两种不同形状的区域感兴趣选择工具。ROI(Region of Interest)是一种表示图像中感兴趣区域的形状,通常是圆形、矩形或者任意多边形等形状。 圆形 ROI 与矩形 ROI 的主要区别在于它们的形状不同。圆形 ROI 是一个圆形区域,通常用于针对圆形检测和处理任务;而矩形 ROI 是一个矩形区域,通常用于任意形状的检测和处理任务。 此外,圆形 ROI 和矩形 ROI 在使用时的效果也有所不同。圆形 ROI 往往比较适合针对圆形物体进行分析,由于它是一个圆形的区域,因此对于检测随着角度变化而形状变化的圆形物体时具有较高的鲁棒性。而矩形 ROI 的适用范围更广,它适用于针对各种形状的物体进行分析,对于检测方向不明确的物体也具有较好的适用性。 总的来说,圆形 ROI 和矩形 ROI 两者各有优缺点,具体在实际应用中的选择要根据实际任务的需求来决定。在使用时,还需要根据具体算法的要求和实际情况来选择最合适的区域感兴趣选择工具。 ### 回答2: 圆形 ROI 和矩形 ROI 这两种算子主要用于图像处理领域,用于在图像中指定一个区域进行各种分析和处理。二者之间最大的不同在于,前者所指定的区域呈现出圆的形状,而后者所指定的区域呈现出矩形的形状。 圆形 ROI 可以用于处理环形或圆形图像中的感兴趣部分,如指环、硬币、轮胎等,其优点在于可以更好地描述圆形对象的特征,并且对于圆形颜色分布的分析也更加稳定和准确。而矩形 ROI 因为所指定的区域呈现出矩形的形状,所以更适用于处理规则的矩形图像,如屏幕、纸张、建筑物等。矩形 ROI 在实现计算机视觉中很常见,可以用于目标检测、目标跟踪、人脸识别及运动跟踪等方面,其优点是计算速度快、易于实现和应用。 综上所述,两种 ROI 算子适用于不同的场景和任务,需要根据具体的应用来决定使用哪种算子。如果待处理的图像是圆形的,则通常选择使用圆形 ROI,而如果是矩形的,则通常选择使用矩形 ROI。除此之外,也可以根据需求选用其他形状的 ROI,如椭圆形多边形等。 ### 回答3: 圆形 roi 和矩形 roi 都是计算机视觉领域常用的图像处理算子,其主要应用场景在于通过对图像中的感兴趣区域进行识别和分析,从而实现图像的自动化处理。 圆形 roi 和矩形 roi 的最大不同在于形状和区域范围。圆形 roi 是基于圆形区域来定义感兴趣区域的算子,而矩形 roi 则是基于矩形区域来定义感兴趣区域的算子。圆形 roi 与矩形 roi 不同之处还在于圆形 roi 具有更加明显的形状特征,因而能够更好地对不同形状的图像进行识别和分析。 圆形 roi 和矩形 roi 在应用场景中也存在一定的差异。对于一些物体整体形态不规则,且需要全方位的识别和处理的情况,圆形 roi 更加适用。而对于一些物体形态规整,且只需要在特定区域进行识别和处理的情况,矩形 roi 则更加适用。 总之,圆形 roi 和矩形 roi 在不同的应用场景中都有其独特的优势和局限性,要根据具体的需求来选择最合适的算子,以实现更加精准、高效的图像处理

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值