Split image using a predefined line
조회 수: 10 (최근 30일)
이전 댓글 표시
Is there anyway to split an image into two using a predefined line that passes through an object's centroid. I have already found the centroid and plotted the line, but I am unsure of how to separate the image using this line. Many Thanks
댓글 수: 2
채택된 답변
Image Analyst
2014년 5월 2일
Sure. I'm going to assume the line cuts across the entire image. Then use poly2mask() to create a binary image.
mask = poly2mask(x, y);
Then you can either blacken above/below the line.
imageAbove = grayImage;
imageAbove(mask) = 0;
imageBelow = grayImage;
imageBelow(~mask) = 0;
You can also crop to the bounding box or leave it at the original size, using imcrop() or regular indexing.
댓글 수: 5
Image Analyst
2014년 5월 3일
Ben, it's just simple algebra. I simply used the point slope formula for a line. See attached test3.m file to produce the image below.

추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
