最近需要对文字进行倾斜校正,所以先旋转了一个图像,结果在旋转回去四周有黑边,怎么去掉黑边?在网上找了好多资料没有解决,偶然想起了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);%去掉第一列和最后一列
第一行,最后一行去掉自己想很简单。