Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

help me in calculating

조회 수: 1(최근 30일)
harshavardhanreddy reddy
harshavardhanreddy reddy 2020년 1월 23일
마감: MATLAB Answer Bot 2021년 8월 20일
i convert rgb image to binary image,the rgb image is of agriculture crops either side with midlle path,i convert that rgb to binary image by making path as white and remaing trees as black, it gives a image of size 435*1200 means the matrix is also of same size.now i have to scan each row and find the pixel column number whose value is 1 and add the column numbers to find the mean distance in between them.
this has to be performed for all the 435 rows.
please help me by answering this and if possible give me a code.
  댓글 수: 2
harshavardhanreddy reddy
harshavardhanreddy reddy 2020년 1월 23일
if i have the matrixof size 435*1200 like this how to calculates pixel coordinates for every pixel whose value is 1 and find mean point and joining of all mean points give straight line.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 01 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 00 0 0 0

답변(2개)

KALYAN ACHARJYA
KALYAN ACHARJYA 2020년 1월 23일
편집: KALYAN ACHARJYA 2020년 1월 23일
now i have to scan each row and find the pixel column number whose value is 1 and add the column numbers to find the mean distance in between them.
Let say bw is the binary image
[r c]=find(bw==1);
Do with loop or other way to get the mean of individual row
  댓글 수: 2
KALYAN ACHARJYA
KALYAN ACHARJYA 2020년 1월 23일
for i=1:length(r)
[r,c]=find(bw(i,:)==1);
col_mean(i)=mean(c);
end
col_mean are the corresponding mean data of cloumns in respective rows. I have no clue what exactly you are trying to do.

Image Analyst
Image Analyst 2020년 1월 23일
You need to take your binary image (which unfortunately you forgot to attach) and rotate it using the radon transform and imrotate() like in the attached example.
Then, once you have the crop rows aligned with the image edges, you"
  1. Invert the binary image (to get space instead of plants) and
  2. Call imclearborder() to remove any space not fully visible in the image, then
  3. Scan across the rows (or columns) getting the width of the spaces on each row (or column) using regionprops()
  4. After all rows have been scanned, compute the mean spacing.
  댓글 수: 3
harshavardhanreddy reddy
harshavardhanreddy reddy 2020년 1월 27일
can you please explain elobarately how to do this to an image.

Community Treasure Hunt

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

Start Hunting!

Translated by