Find the Euclidean distance of each pixel from a user-selected pixel in color space and displays scaled images from 0 to the current max distance.

5 次查看(过去 30 天)
Hi,
Can someone help me? Sorry for bad english
I need to find the Euclidean distance of each pixel from a user-selected pixel in RGB space and other in Lab space. Then displays 2 scaled images either from 0 to the current max distance, or from 0 to the theoretically maximum possible distance in a given color space. The result should be like
I'm new to this
Here is my current code
I dont know if im on the right way
Thanks everyone
  4 个评论
KALYAN ACHARJYA
KALYAN ACHARJYA 2021-1-23
编辑:KALYAN ACHARJYA 2021-1-23
"I need to calculate the Euclidean distance between pixel colors, not between their coordinates"
Distance measure between to positions/locations, the indices (row number and column number) of particular color level exactly represent the same.

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2021-1-23
Just do this
[x, y] = ginput(1);
row = round(y);
col = round(x);
rp = double(rgbImage(row, col, 1));
gp = double(rgbImage(row, col, 2));
bp = double(rgbImage(row, col, 3));
[r, g, b] = imsplit(double(rgbImage));
colorDistance = sqrt((r - rp).^2 + (g - gp).^2 + (b - bp).^2);
imshow(colorDistance, []);
See attached demo for Delta E demos. Delta E is the coor distance in LAB color space.
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by