《图像旋转变换修正MATLab代码.docx》由会员分享,可在线阅读,更多相关《图像旋转变换修正MATLab代码.docx(5页珍藏版)》请在第一文库网上搜索。
1、图像旋转变换修正MATLab代码1 .算法原理与图像展示在图像处理中,经常遇到图像歪置的情况,需要对图像进行歪置修正,主要应用的方法就是图像图影变换,具体原理是在图像上按照某一方向上进行积分累加求和。比如如下歪置图像:待修正的图像:原图自动旋转修正后的图像如下:自动旋转校正处理目标边界后的图像如下:处理后的图像2 .图像图影变换算法源代码%R是旋转后的变换矩阵,A_org是经过imread后的图片矩阵function bw_rotate=autoromate(A_org)bw=rgb2gray(A_org);%RGB 转灰度I二edge(bw);%边缘检测算子theta=0:180;R,xp二
2、radon。,theta);%图像图影变换二二二在某一方向上积分累加求和l,J=find(R=max(max(R);qingxiejiao=90-J; %根据投影变换自动计算的校正角bw_rotate=imrotate(A_org,qingxiejiao,bilinear,crop); %matlab 旋转变换figure(2);imshow(bw_rotate);title(嗾转校正图,);%bm是输入待剪裁的图像,R_prs是自动剪裁处理后的图像,yuzhi是剪裁的边界阈值(当图像边界分辨不清时更鲁棒)function R_prs=autocrop(bw_rotate,yuzhi)x y=
3、find(abs(bw_rotate(:,:/l)-bw_rotate(l/l/l)yuzhi);xmin=min(x);xmax=max(x);ymin=min(y);ymax=max(y);R_prs=imcrop(bw_rotate,ymin xmin ymax-ymin xmax-xmin);m,n,k=size(bw_rotate);R_prs=imresize(R_prs,m,n);主程序:clear all;close all;cic;bw_org=imread(,./combined.jpg,);figure ;imshow(bw_org);title(原图);bw_rotate=autoromate(bw_org);figure(2);imshow(bw_rotate);title(咱动旋转校正,);yuzhi=200;%阈值可以根据待处理目标边界实际情况调动R_prs=autocrop(bw_rotate,yuzhi);figure(3);imshow(R_prs);titled处理后的图像)