c++ 提取傅里叶描述子_Matlab | 提取图像ROI任意形状

前言

本文给出在matlab中如何提取图像任意形状的感兴趣(ROI)区域的程序及分析。

程序

程序如下:

clc;clear;
I=imread('1.bmp');   % 读取一张图片
imshow(I);           % 显示原始图像
i=rgb2gray(I);       % 变为灰度图像
[c,r]=ginput(20);    % 20表示点选次数,20个点连线成多边形,生成感兴趣区域。
BW= roipoly(I,c,r);  % 创建二值掩膜图像
figure
imshow(BW)
c=immultiply(i,BW);
figure
imshow(c)

分析

我们使用ginput函数来得到感兴趣区域的点,函数内的20表示选用20个点以形成多边形,包围我们所感兴趣的部分,感兴趣区域如图中的红线所示:我们在这个区域点上20个点,同时返回得到这20个点的坐标值。

e9202dde0570c56e1ee1e3edd007875a.png
待处理图像及感兴趣区域

随后我们使用roipoly函数来创建一个掩膜图像,如下图所示:生成的感兴趣区域内部值为1,区域外的值被置为0;

c55e94cade317c717cd79d82096431d1.png
掩膜图像

最后,我们将掩膜图像与原图相乘,便得到了感兴趣的区域。如下图所示:

bdb558cacfd45793818984582d4c59ac.png
提取感兴趣区域

用途

提取出感兴趣区域后,我们可进行下一步信息的提取。例如在空间载波剪切散斑干涉中,通过傅里叶变换后,得到相应的频谱图,随后用该方法可提取出高频部分,对获取的频谱进行逆傅里叶变换,并提取相位,得到包裹相位图。


创作不易,如果本文帮助到你,那就点个赞~关注一下吧~我们将更新更多优质内容~

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值