MATLAB 手写签名拍照 转换黑白图片 方便插入文件签名

MATLAB 手写签名拍照 转换黑白图片 方便插入文件签名

手机拍照图片

MATLAB 手写签名拍照 转换黑白图片 方便插入文件签名_第1张图片

签名处理效果

MATLAB 手写签名拍照 转换黑白图片 方便插入文件签名_第2张图片
MATLAB 手写签名拍照 转换黑白图片 方便插入文件签名_第3张图片
MATLAB 手写签名拍照 转换黑白图片 方便插入文件签名_第4张图片

MATLAB代码

 %% 选取图像
 [filename, pathname] = uigetfile({'*.jpg'; '*.bmp'; '*.gif'}, '选择图片');
 %没有图像
 if filename == 0
     return;
 end
 
 %% 读取图像
I= imread([pathname, filename]);
I= imresize(I,0.5);
figure(1);
imshow(I)                                                               %显示原图像

%% 手动裁剪图像
figure(1),imshow(I,[]);title('点住鼠标左键可以拖动选择的区域,并且松开后双击确认区域');
set(gcf,'outerposition',get(0,'screensize'));%使该图显示最大化,便于取点
b = imcrop(); % 鼠标可以拖动选择的区域,并且双击确认区域
close;
% set(gcf,'outerposition',get(0,'screensize'));%使该图显示最大化
imshow(b);

 %% 图像处理
I1 =rgb2gray(b);                                                        %转为灰度图像
imshow(I1)
I11=imadjust(I1);                                                       %增强图像对比度
imshow(I11)

I11B=im2bw(I11);  %图像二值化
figure(2);
imshow(I11B)

%% 字体加粗
SE1=strel('disk',4);                                                     %生成圆盘
I3= imerode(I11B,SE1);                                                    %利用圆盘对图像进行膨胀   
figure(3);
imshow(I3); 

%% 字体变细
SE2=strel('disk',2);                                                     %生成圆盘
I4= imdilate(I11B,SE2);                                                  %利用圆盘对图像进行腐蚀   
figure(4);
imshow(I4); 

%% 保存图片

imwrite(I11B, '手写签名-黑白.jpg');
imwrite(I3, '手写签名-粗.jpg');
imwrite(I4, '手写签名-细.jpg');

你可能感兴趣的:(matlab)