資源簡介
該程序用最小二乘法實現傾斜校正,校正效果好,程序簡單易懂
代碼片段和文件信息
%利用最小二乘法進行圖像傾斜校正
clear?all
I=imread(‘F:\MyMATLAB\qxjz\qingxie.jpg‘);
imview(I);
A=0;?????????%最小二乘法求解中的第1項
B=0;?????????%最小二乘法求解中的第2項
C=0;?????????%最小二乘法求解中的第3項
D=0;?????????%最小二乘法求解中分母的第1項
N=0;?????????%計算圖像中為1的個數
I1=im2bw(I0.3);?%對輸入圖像進行二值化處理
[mn]=size(I1);
II=ones(mn);
II=-1*I1+II;?????%反色處理
[mn]=find(II);
rowmin=min(m);
rowmax=max(m);
colummin=min(n);
colummax=max(n);
I2=II(rowmin:rowmaxcolummin:colummax);?%顯示文字部分
[mn]=size(I2);
for?i=1:m
????for?j=1:n
????????A=A+I2(ij)*i*j;
????????B=B+I2(ij)*i;
????????C=C+I2(ij)*j;
????????D=D+I2(ij)*j*j;
????????N=I2(ij)+N;?????%計算最小二乘法中的各項
????end
?end
U=N*A-C*B;
V=N*D-C*C;
a=U/V;???????????????????%計算嚙合直線的斜率
rotate=atan(a);
rotate=rotate*180/3.142;
J=imrotate(I2rotate);??%對圖像進行旋轉
figureimshow(J);???????%顯示經過校正的圖像
- 上一篇:s7200 smart modbus通訊例程
- 下一篇:JM軟件配置文件的參數說明
評論
共有 條評論