书籍翻拍畸变校正
1.畸变校正的基本原理:
畸变矫正,首先应该知道畸变系数,然后做与畸变相反的变换,消除畸变。
所以我们需要找到畸变系数。如何去找畸变系数?从书的边界线来确定畸变方程。
2.分析结果:
二值化--剪裁书的边界--确定边界的曲线方程--校正
二值化:直接黑白
剪裁书的边界:通过角度突变,或是统计值变化很大。
确定曲线方程,最小二乘法拟合曲线
确定校正系数
三次插值法插值
3.算法流程:
4.方案实现:matlab
算法整体流程:
获取图像->灰度化->二值化->边缘检测->寻找书的边界->拟合成线->得到畸变系数->畸变校正
a).先获取图像并灰度化:
clc;
clear('all');
close all;
imgSrc=imread('E:\imgsrc.jpg');
imgGray=rgb2gray(imgSrc);
imwrite(imgGray,'E:\01灰度图.jpg');
figure(1);subplot(121);imshow(imgSrc);title('原图');
figure(1);subplot(122);imshow(imgGray);title('灰度图');
b).二值化:
thresh=30/255;
imgbw=im2bw(imgGray,thresh);
imgbw=medfilt2(imgbw,[7 7]);
imwrite(imgbw,'E:\02二值图.jpg');
figure(2);subplot(111);imshow(imgbw);title('二值图');
c).边缘检测粗略寻找信息
imgElog=edge(imgbw,'log');
imwrite(imgElog,'E:\03Laplacian算子.jpg');
figure(3);subplot(111);imshow(imgElog);title('Laplacian算子');
d)书籍边缘检测:从右侧开始,寻找1/2区域的最大值和最小值作为我们的目标区域
[row col]=size(imgElog);
imgBoundary=zeros(row,col);
for j=1:col
if j>col/2
ystart1=0;
for i=20:row/2
if ystart1>0 && i-ystart1>20
break;
end
ystart1=i;
if imgElog(i,j)==1
imgBoundary(i,j)=255;
if imgElog(i+1,j)==0;
break;
end
end
end
ystart2=0;
for i=row-1:-1:row/2
if ystart2>0 && ystart2-i>20
break;
end
ystart2=i;
if imgElog(i,j)==1
imgBoundary(i,j)=255;
if imgElog(i-1,j)==0;
break;
end
end
end
end
end
imwrite(imgBoundary,'E:\04边缘检测图.jpg');
figure(4);subplot(111);imshow(imgBoundary);title('边缘检测图');
e).寻找角点,确定书的边界:
right_start_x=0;
right_end_x=0;
right_start_y=0;
right_end_y=0;
for j=col*2/3:col-20
for i=1:row/3
if imgBoundary(i,j)==255
if right_end_y<i || right_end_y==0
right_end_y=i;
right_end_x=j;
end
end
end
end
for j=col*2/3:col-20
for i=row*2/3:row-20
if imgBoundary(i,j)==255
if right_start_y>i || right_start_y==0
right_start_y=i;
right_start_x=j;
end
end
end
end
imgCut=zeros(row,col);
for i=1:row
for j=1:col
if i<=right_start_y && i>=right_end_y && j>=right_start_x && j<=right_end_x
imgCut(i,j)=255;
end
end
end
imwrite(imgCut,'E:\05书籍切分图.jpg');
figure(5);subplot(111);imshow(imgCut);title('05书籍切分图');
f).拟合确定边界方程:对文字进行横行open,然后拟合直线方程,再行展平。
5测试数据.
posted on 2016-09-19 17:52 xiaochenxi_cnblogs 阅读(1521) 评论(0) 收藏 举报
浙公网安备 33010602011771号