Matlab任取区域,Matlab 生成任意扇形区域

Matlab 生成任意扇形区域

% Generate sector mask as needed

function Sect_Mask = Generate_SectMask(width, height, cen_x, cen_y, CenAng_s, CenAng_e, r_s, r_e)

% Note: CenAng_s <= CenAng_e; CenAng_s, CenAng_e ~[-180, 180]

% Initialization

Sect_Mask = uint8(zeros(height, width));

% Offsets referring to sector center

off_x = [1:width] - cen_x;

off_y = -1*([1:height] - cen_y);

%

for i = 1:width

for j = 1:height

r = sqrt(off_x(i)^2 + off_y(j)^2);

alpha = ( atan2( off_y(j), off_x(i) ) )*180/pi;

% In sector: Angle & Radius

if alpha >= CenAng_s && alpha <= CenAng_e && r >= r_s && r <= r_e

Sect_Mask(j, i) = 1;

end

end

end

end

0818b9ca8b590ca3270a3433284dd417.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值