How do I draw the scatterplot of an RGB image?

5 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.

Categories

Find more on Discrete Data Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!