图像中提取圆形区域子图像在图像中提取矩形区域非常容易,应用冒号表达式即可:例如: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输出图像%2015.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;elseIMG_Out=R_temp1.*im2double(IMG_In);endelsedisp('exceedRadius');endimshow(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]);全彩图