Matlab 图像转极坐标系

传入img图片,转成圆形的极坐标图(可以对原图进行裁剪修改)

       

实心圆环

imgVP1=flip(imgVP1,1);  % 水平翻转

polarVP1=polarVolinPlot(imgVP1); % 调用函数

空心圆环

[m,n,~]=size(imgVP2);

% 填充空心部分

for i=m:m+300

    for j=1:n

        imgVP2(i,j,:)=[255,255,255];

    end

end

imgVP2=flip(imgVP2,1);

polarVP2=polarVolinPlot(imgVP2);

完整的代码:

function [polarImg] = polarImg(img0)
% polarImg 
    Rimg0=double(img0(:,:,1));
    Gimg0=double(img0(:,:,2));
    Bimg0=double(img0(:,:,3));  
    [m,n]=size(Rimg0);
    %原图坐标
    [t,r]=meshgrid(linspace(-pi,pi,n),1:m);
    M=2*m;N=2*n;
    [NA,MA]=meshgrid((1:N)-n-0.5,(1:M)-m-0.5);
    T=atan2(NA,MA);
    R=sqrt(MA.^2+NA.^2);%变换坐标
    Rpolar=interp2(t,r,Rimg0,T,R,'linear',0);
    Gpolar=interp2(t,r,Gimg0,T,R,'linear',0);
    Bpolar=interp2(t,r,Bimg0,T,R,'linear',0); 
    polarImg=uint8(cat(3,Rpolar,Gpolar,Bpolar));
    polarImg=imrotate(polarImg, -90);
    % 图片裁剪
    if M<N
        polarImg = imcrop(polarImg,[0,(N-M)/2,M,M]);
    else
        polarImg = imcrop(polarImg,[0,(M-N)/2,N,N]);
    end
end

 

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在MATLAB中实现直角坐标系坐标系换,你可以使用以下两个函数: 1. `topolar(v, x0, y0, np)`函数能将单通道的图像或矩阵v从直角坐标系化为坐标系。其中,`(x0, y0)`代表要指定的坐标原点,`np`代表一周等间距相位数。函数会自动计算得到坐标系的最大半径`Rmax`。 2. `polartorect(angle, magnitude, x0, y0)`函数用于将坐标换为直角坐标系。其中,`angle`是某点坐标的角度值(以度为单位),`magnitude`是某点坐标的大小,`x0`是坐系的原点在直角坐标系中的横坐标值,`y0`是坐系的原点在直角坐标系中的纵坐标值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [并附自己写的实现直角坐标系坐标系MATLAB代码](https://blog.csdn.net/wenhao_ir/article/details/124831090)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Matlab 实现图像的直角坐标系坐标系的相互化](https://blog.csdn.net/weixin_45013621/article/details/129489292)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值