How do I draw the scatterplot of an RGB image?

8 views (last 30 days)
  6 Comments
darova
darova on 3 Aug 2019
Yes, sorry. I'm just not a native english speaker
Image Analyst
Image Analyst on 4 Aug 2019
Parveiz, please explain in words what the two axes of your scatterplots represent.
  1. What does n,m on the x axis represent?
  2. What does n+1, m+1 on the y axis represent?
  3. Why do both of your scatterplots have the same x and y labels? They are not the same scatterplots yet they have the same axis labels. Why?

Sign in to comment.

Accepted Answer

KALYAN ACHARJYA
KALYAN ACHARJYA on 4 Aug 2019
Edited: KALYAN ACHARJYA on 4 Aug 2019
image_test=rgb2gray(imread('2.png')); % Change the image
[rows colm]=size(image_test);
original_data=zeros(1,56512);
diag_data=zeros(1,56512);
hor_data=zeros(1,56512);
ver_data=zeros(1,56512);
l=1;
%ignoring boundary elements
for i=2:rows-1
for j=2:colm-1
original_data(l)=image_test(i,j);
diag_data(l)=image_test(i+1,j+1);
hor_data(l)=image_test(i,j+1);
ver_data(l)=image_test(i+1,j);
l=l+1;
end
end
subplot(131),plot( original_data,diag_data,'b.','linewidth',2);
xlabel('n,m'), ylabel('n+1,m+1'),title('Diagonal');
subplot(132),plot( original_data,diag_data,'b.','linewidth',2);
xlabel('n,m'), ylabel('n,m+1'),title('Horizontal');
subplot(133),plot( original_data,diag_data,'b.','linewidth',2);
xlabel('n,m'), ylabel('n+1,m'),title('Vertical');
  3 Comments
Parveiz Lone
Parveiz Lone on 4 Aug 2019
What 56512 indicate ? Or is it m*n size of image
KALYAN ACHARJYA
KALYAN ACHARJYA on 4 Aug 2019
Edited: KALYAN ACHARJYA on 4 Aug 2019
Possible total iterations or
row*colm - ignoring boundary pixels

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 3 Aug 2019
You need to use colorcloud(). It does a 3-D scatterplot of the RGB gamut.

Community Treasure Hunt

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

Start Hunting!