How to plot plot Intensity vs pixel values using simulink xy graph?

Hi,
I am using Simulink support package for Android to design an application. I need to get the grayscale intensity values from the live camera and plot it against the pixel count. I have used a MATLAB function to get grayscale intensity with R,G,B matrix from the camera. I need to plot the column vector grayIntensity (size: 1x720 due to the camera resolution) against the vector pixel_count. Is there any way to use the XY graph block to do this?
function [r_out, g_out, b_out,grayIntensity, pixel_count] = Grayscale(r_in,g_in, b_in)
%#codegen
%%Get RGB Color
r = r_in;
g = g_in;
b = b_in;
gray= (r+g+b)/3;
G = sum(gray)*0.004;
grayIntensity = G';
pixel_count=0:size(grayIntensity);
%% RGB output
r_out = uint8(r);
g_out = uint8(g);
b_out = uint8(b);

Answers (1)

XY graph is not there for Android Deplpooyment.
But you can use Arrayplot block on Android device.
Please have a look at below example that plots signal on android screen:

1 Comment

Hi Sutanu,
I have tried using array plot but the problem is it is not plotting all the values in the x-axis. The camera resolution is 1920x1080 but when I tried to plot the grayIntensity vs pixel_count then it is showing some random values. Please find attached the screenshots. I have also tried to setup the axes correctly in the array plot. Checked both with custom [] and sample increment. Still getting the error, the x-axis should show the values from 0:1080 but it is very different. I don't know why it is missing values in both the sides.

Sign in to comment.

Products

Release

R2019b

Asked:

on 23 Mar 2020

Commented:

on 24 Mar 2020

Community Treasure Hunt

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

Start Hunting!