I = imread('111.jpg');%讀取處理好的圖片,必須是嚴格坐標軸線為邊界的圖片
I=rgb2gray(I); %灰度變化
I(I>200)=255; %二值化
I(I<=200)=0; %二值化
imshow(I) %顯示圖片
[y,x] = find(I==0); %找出曲線的像素位置
y = max(y) -y; %將屏幕坐標轉換為有手系迪卡坐標
y = fliplr(y); %左右翻轉數據
plot(x,y,'r.','markersize',2)%顯示轉換后的圖像
[Xx,Yy]= ginput(2); % 讀取真是坐標左上角和右下角的兩點
min_x = min(Xx);
max_x = max(Xx);
min_y= min(Yy);
max_y = max(Yy);
% x1 = (x-Xx(1))*(max_x-min_x)/(Xx(2)- Xx(1))+min_x;
% y1 = (y-Yy(1))*(min_y-max_y)/(Yy(2)- Yy(1))+max_y;
%% 坐標變化,如果坐標原點不為0,則需在該軸加上省去的坐標軸數
xo = -15;%原始圖像起點坐標x
yo = -30;%原始圖像起點坐標x
xl = 30; %原始圖像x軸長
yl=70; %原始圖像y軸長
x1 = (x - min(Xx))*xl/(max(Xx)-min(Xx))+xo ;%數據點x值
y1 = (y - min(Yy))*yl/(max(Yy)-min(Yy))+yo;%數據點y值
plot(x1,y1,'r.','markersize',2)
axis([-15,15,-30,40])
下面第一幅圖是原圖像,第二幅是復原圖像

