MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply TodayTo resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Asked by Lalit Patil on 19 Nov 2012

http://www.fileconvoy.com/dfl.php?id=geb61da744e17a7e317160537eeb2790920d297

I = imread('Image.jpg'); i = I(:,:,3); m = max(max(i)); [r c] = find(i ==m ); fid = fopen('lalit.txt','wt'); for j=1:length(r) fprintf(fid,'%f %f\n',r(j),c(j)); end fclose(fid);

in this text file min(r) = 1 and max(r) = 554..

for each r there is more than one value..

like, for each r =222, there is c = 231,419,421,422,424,425,426,427,428,429,430,431,432,433,434,438 so i want Z = round((max(c) + min(c))/2); = round((231 + 438)) = 335

and i want this for all r...

and then want to plot that values plot(z,r)

So, how to do this..?

Answer by Pedro Villena on 19 Nov 2012

Edited by Pedro Villena on 21 Nov 2012

Accepted answer

data = textread('lalit.txt'); r = unique(data); for i=r', c = data(data(:,1)==i,2); z(i,1) = mean([min(c) max(c)]); end plot(r,z)

Lalit Patil on 21 Nov 2012

I think this is the best solution you have given.. And this will solve many one's problems when they will search about this topic.. And the solutions you have given is not found anywhere.. Thank you tahnk you very much...

## 0 Comments