% read in tiff image and convert it to double format
close all;clear allmyimage = imread('wave.png');% myimage = myimage(:,:,1);
% allocate space for thresholded image
image_thresholded = zeros(size(myimage));% loop over all rows and columns
for ii=1:size(myimage,1) for jj=1:size(myimage,2) color=[myimage(ii,jj,1),myimage(ii,jj,2),myimage(ii,jj,3)]; cmax=max(color); cmin=min(color); if (cmax<200 && cmin >80) new_pixel=0; else new_pixel=255; end image_thresholded(ii,jj)=new_pixel; end end% figure()
% % subplot(1,2,1)
% imshow(myimage)
% title('original image')
% figure()% % subplot(1,2,2)
% imshow(image_thresholded)
% title('thresholded image')
Data=[];% Xmin=input('\nEnter Xmin:')
% Xmax=input('\nEnter Xmax:')
% Ymin=input('\nEnter Ymin:')
% Ymax=input('\nEnter Ymax:')
Xmin=0;Xmax=600;Ymin=-3000;Ymax=3000;for ii=1:size(myimage,2) for jj=5:size(myimage,1) pixel=image_thresholded(jj,ii); if pixel==0 Data=[Data;ii,size(myimage,2)-jj]; end endendimxmax=max(Data(:,1));imxmin=min(Data(:,1));imymax=max(Data(:,2));imymin=min(Data(:,2));figure()scatter(Data(:,1),Data(:,2))title('Extacted Original Image Co-ordinate data') %Scrapout Extra lines
Test=Data(Data(:,1)>imxmin+5,:);Test=Test(Test(:,1)<imxmax-5,:);Test=Test(Test(:,2)>imymin+5,:);Test=Test(Test(:,2)<imymax-5,:);X=Test(:,1);Y=Test(:,2);% X=Data(:,1);Y=Data(:,2);
X1=[(X-imxmin)/(imxmax-imxmin)].*(Xmax-Xmin)+Xmin;Y1=[(Y-imymin)/(imymax-imymin)].*(Ymax-Ymin)+Ymin;XData=[(Data(:,1)-imxmin)/(imxmax-imxmin)].*(Xmax-Xmin)+Xmin;YData=[(Data(:,2)-imymin)/(imymax-imymin)].*(Ymax-Ymin)+Ymin;figure()plot(X1,Y1);hold onscatter(XData,YData);% title('Final Data extracted to plot scale')
Hi All I have tried to automatically extact the data from picture plot (attached image).
My idea is to extract the color of picture some how if the color of the pixel is with in the specific range store its x,y co-ordinates in the matrix.
Then use this matrix and transform the data in the matrix from image co-ordinates to plot co-ordinates.
I am relatively new to matlab coding so sorry for my rough syntax.
Now the problem is same image with minor variation is not able to transform the image co-ordinates.
Request you to help me understand where I am going wrong.
Thanks & Regards
Sriramakrishna Turaga
Best Answer