书籍翻拍畸变校正
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 阅读(1405) 评论(0) 编辑 收藏 举报