How to divide a closed detected edge of an image into 8 parts from a point inside in it..?

조회 수: 2 (최근 30일)
During my work course,I detcted the edge of the image. Now, I need to divide that closed edge detected image into equal parts from a point so that I can see which have greater area cointaing shaded edge portion .
  댓글 수: 2
Image Analyst
Image Analyst 2020년 7월 4일
Don't you see a contradiction in your requirements? If the parts are equal how can one have greater area (except for digitization noise)? What do you mean by equal? Equal areas or equal angles? If the angles from the centroid are equal, then of course one sector might have a different area than another sector. Is that what you meant?
KRISHNA TEJA DUDE
KRISHNA TEJA DUDE 2020년 7월 4일
편집: KRISHNA TEJA DUDE 2020년 7월 4일
yah..! I need the equal angles from centroid. So the below figure can have different areas corresponding to the parts as like cutting a pizza into equal parts from a point.
It would be helpful if u write a code for me.

댓글을 달려면 로그인하십시오.

답변 (3개)

darova
darova 2020년 7월 5일
  • use bwboundaries to get coordinates of a circle
  • divide into equal parts
x(1:end/8)

KRISHNA TEJA DUDE
KRISHNA TEJA DUDE 2020년 7월 5일
I got something for dividing a gray image into 8 parts from a point where i converted a rectangular matrix into square matrix
function [first,second,three,four,firstone,firstsecond,secondone,secondsecond,threeone,threetwo,fourone,fourtwo] = divide(image)
m =size(image,1); n = size(image,2);
for i = 1:m/2
for j = 1:n/2
first(i,j) = image(i,j);
end
end
figure(1),imshow(first)
for i = 1:m/2
for j = ((n/2)+1):n
secondd(i,j) = image(i,j);
end
end
second = secondd(1:m/2,((n/2)+1):n);
figure(2),imshow(second)
for i = (m/2+1):m
for j = 1:n
sample(i,j) = image(i,j);
end
end
threefour = sample((m/2+1):m,1:n);
row_s = size(threefour,1);
col_s = size(threefour,2);
for i = 1:row_s
for j = 1:col_s/2
three(i,j) = threefour(i,j);
end
end
figure(3),imshow(three)
for i = 1:row_s
for j = (col_s/2+1):col_s
fourth(i,j) = threefour(i,j);
end
end
four = fourth(1:row_s,(col_s/2+1):col_s);
figure(4),imshow(four)
firstone = triu(first);
figure(5),imshow(firstone)
firstsecond = tril(first);
figure(6),imshow(firstsecond)
second2 = flipdim(second,2);
secondone = triu(second2);
figure(7),imshow(secondone)
secondsecond = tril(second2);
figure(8),imshow(secondsecond)
third = flipdim(three,1);
threeone = triu(third);
figure(9),imshow(threeone)
threetwo = tril(third);
figure(10),imshow(threetwo)
fourone = triu(four);
figure(11),imshow(fourone)
fourtwo = tril(four);
figure(12),imshow(fourtwo)

Image Analyst
Image Analyst 2020년 7월 5일

제품


릴리스

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by