Я использую приведенный ниже код, чтобы сначала указать сетку [X, Y], которая представляет сектор круга, определенный углом (sector_angle) и радиусом круга (sector_h), и, во-вторых, извлечь этот сектор из изображения RGB (img) с размером = [2 * сектор_h, 2 * сектор_h, 3].
Теперь я ищу способ сопоставить большой круговой сектор с меньшим сектором, определенным посредством sector_angle_2
[X,Y] = meshgrid(0:2*sector_h-1,0:2*sector_h-1);
Y = flip(Y,1); X = X-sector_h; Y = Y-sector_h;
D = sqrt(X.^2 + Y.^2);
theta = acosd(X./D);
tmp = theta; tmp = tmp+180; tmp(Y>=0)= 0;
tmp = flip(tmp,2); theta(Y<0)=0; theta = theta+tmp;
idx = D > sector_h | theta<90-sector_angle | theta>90+sector_angle;
R = img(:,:,1); G = img(:,:,2); B = img(:,:,3);
R(idx) = 0; G(idx) = 0; B(idx) = 0;
img(:,:,1) = R; img(:,:,2) = G; img(:,:,3) = B;