how to get x,y pixel values of each object separately in labeled watershed image?
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello all. I have extracted the tomato using watershed and labeled them. Now I want to know x, y, RGB, all values regarding this. I can get values for all objects in image but I want to get the values of each object in the image separately.
i want pixel values of each fruit in image separately with its color, because i want to map these values on point cloud, so that i can recognize that which fruit is which one. How I can do it? Kindly guide me as soon as you all can. Thanks.
See attached image: .
댓글 수: 0
답변 (1개)
Image Analyst
2018년 12월 19일
watershed() gives you the labeled image, L. To get the x, y, R, G, B values, extract each label one at a time.
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
numRegions = max(L);
for k = 1 : numRegions
thisRegion = ismember(L, k);
[y, x] = find(thisRegion);
redValues = redChannel(thisRegion);
greenValues = greenChannel(thisRegion);
blueValues = blueChannel(thisRegion);
end
댓글 수: 15
Image Analyst
2018년 12월 25일
편집: Image Analyst
2018년 12월 25일
rgbImage is whatever you called your original RGB image. Maybe you called it (unfortunately) "I" or maybe you called it img or some other name - I don't know what you called it.
If you put your watershed() output into a variable called "Lrgb" then use that instead of "L" of course.
A lot of times you'll see people upload code here, and of course they have to pick names for their variables. It's assumed that the poster will know to replace those names with their own names if they want them to be different.
참고 항목
카테고리
Help Center 및 File Exchange에서 Convert Image Type에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!