图像中提取圆形子区域matlab-code.docx

  1. 1、本文档共1页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像中提取圆形区域子图像 在图像中提取矩形区域非常容易,应用冒号表达式即可: 例如: IMG_Out=IMG_In(300:400,400:700); 就可以轻松提取到图像中100*300大小矩形区域的图像 那么有时候需要提取图像中圆形区域的图像,其实应用圆的表达式就可以很容易求取 下面是自己用matlab写的一个提取圆形区域图像的函数,可供大家参考: functionIMG_Out=Circle_Region_Extract(IMG_In,Radius,Center) %IMG_In是输入图像,可以是灰度图,也可以使RGB格式的彩色图 %Radius 要截取圆形区域的半径值 %Center 圆心的坐标,Center〔1〕为x坐标,Center〔2〕为y坐标,Center为1x2结构 %IMG_Out输出图像 %2023.6.11 郑州大学光电信息科学研究所 if ~(abs(Center(1)-Radius)0 abs(Center(2)-Radius)0) [m,n,~]=size(IMG_In); [X,Y]=meshgrid(1:n,1:m); R_temp=sqrt((X-Center(1)).^2+(Y-Center(2)).^2); R_temp1=R_temp=Radius; if(numel(size(IMG_In))2) R_Out=R_temp1.*im2double(IMG_In(:,:,1)); G_Out=R_temp1.*im2double(IMG_In(:,:,2)); B_Out=R_temp1.*im2double(IMG_In(:,:,3)); IMG_Out(:,:,1)=R_Out; IMG_Out(:,:,2)=G_Out; IMG_Out(:,:,3)=B_Out; else IMG_Out=R_temp1.*im2double(IMG_In); end else disp(exceed Radius); end imshow(IMG_Out); 例子: 某一通道灰度图 I=imread(C:\Users\Administrator\Desktop\A.jpg); I1=Circle_Region_Extract(I(:,:,1),300,[700,840]); 效果图如下: I=imread(C:\Users\Administrator\Desktop\A.jpg); I1=Circle_Region_Extract(I,300,[700,840]); 全彩图

文档评论(0)

147****4268 + 关注
实名认证
内容提供者

认真 负责 是我的态度

1亿VIP精品文档

相关文档