您的位置:首页 > 编程语言 > MATLAB

MATLAB怎么去掉旋转后的黑边方法

2017-06-13 20:15 781 查看
最近需要对文字进行倾斜校正,所以先旋转了一个图像,结果在旋转回去四周有黑边,怎么去掉黑边?在网上找了好多资料没有解决,偶然想起了OCR识别一句代码,发现很简单,现在教大家去掉。

旋转回来图像



我想去掉黑色部分,代码如下

clear,clc,close all;

I=imread('C:\\Users\\ASUS\\Desktop\\11.png');

bw=rgb2gray(I);

bw=im2bw(I,graythresh(bw));

% bw2=~bw;

% figure,imshow(bw2)

[f c]=find(bw);%寻找出所有非零元素的位置,f是横坐标向量,c是纵坐标向量。

img_out=bw(min(f):max(f),min(c):max(c));%将图像四周的白点去掉

figure,imshow(img_out)

img_out可能由于过渡第一列,到最后一列,第一行,最后一行没去掉,可以这样

[m,n]=size(img_out);

img_out=img_out(:,2:n-1);%去掉第一列和最后一列

第一行,最后一行去掉自己想很简单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: