制作简单的指纹图集,并对其进行处理

前言

在学习tensorfow时,我第一个做的任务就是用自己的图集简单的认识一下整体的框架,这篇文章先简单的记录一下指纹图集的制作过程。

一、指纹图集采集

指纹图集的制作其实很简单,用印泥即可,下图是两张我采集的图片。


这两张的效果还比较好,制作图集时容易产生指纹一边颜色深,一边颜色浅的问题,比如:

这一张就是在采集的时候用力不均匀的时候产生的,但是指纹的走向还是比较清晰。同时也会产生比较模糊的情况,比如:

二、对指纹进行处理

对于提取到的指纹图集,需要进行预处理,我是使用matlab软件对这个图片的进行的处理,因为不确定那种方法比较好,所以试了很多种方法,代码也参考了网上的许多代码。(放在下面共享)

clc
clear all%% 读取图片
img_rgb = imread('1.jpg');
img = rgb2gray(img_rgb);
% img=im2double(img);  %将f转换为归一化的double类图像
figure();
imshow(img);
%进行均值滤波
a_bmp = filter2(fspecial('average',3),img)/255; %进行3*3均值滤波%%边缘提取
bw1 = edge(a_bmp,'sobel');
bw2 = edge(a_bmp,'roberts');
bw3 = edge(a_bmp,'log');
bw4 = edge(a_bmp,'canny');
figure
subplot(2,2,1); imshow(bw1);title('sobel算子');
subplot(2,2,2);imshow(bw2);title('roberts算子');
subplot(2,2,3);imshow(bw3);title('log算子');
subplot(2,2,4);imshow(bw4);title('canny算子');%空域锐化
p1 =fspecial('sobel');
figure();
add1 =imfilter(a_bmp,p1);
out1=add1+a_bmp;
imshow(out1);
title('sobel锐化结果');p2 =fspecial('prewitt');
figure();
add2 =imfilter(a_bmp,p2);
out2=add2+a_bmp;
imshow(out2);
title('prewitt锐化结果');%%
p3 =fspecial('laplacian');
figure();
add3 =imfilter(a_bmp,p3);
out3=add3+a_bmp;
imshow(out3);
title('laplacian锐化结果');%%
%进行高斯滤波及频域锐化;
%图像的边缘、细节主要位于高频部分,而图像的模糊是由于高频成分弱化而产生的。
gaus=fspecial('gaussian', [3,3], 1);
figure
gausout=imfilter(a_bmp,gaus,'replicate');
imshow(gausout)
title('高斯频域滤波');
f= double(img);[r,c]=size(f);
F=fft2(f);G=fftshift(F);
d0=15; %半径范围
n=2;%巴特沃斯阶次
a=0.2;b=2.0; %高频强调滤波传递函数系数
mu=floor(r/2);mv=floor(c/2);
for u=1:r  for v=1:c  d=sqrt((u-mu)^2+(v-mv)^2);  Hlpbtw=1/(1+0.414*(d/d0)^(2*n));  Hhpbtw=1-Hlpbtw;    Ghpbtw(u,v)=Hhpbtw*G(u,v);  Hhfebtw=a+b*Hhpbtw; Ghfebtw(u,v)=Hhfebtw*G(u,v);  end
end
ghpbtw=ifftshift(Ghpbtw);
fhpbtw=uint8(real(ifft2(ghpbtw)));
subplot(1,3,1);imshow(fhpbtw);title(' 巴特沃斯高通');
ghfebtw=ifftshift(Ghfebtw);
fhfebtw=uint8(real(ifft2(ghfebtw)));
subplot(1,3,2);imshow(fhfebtw);title('巴特沃斯高频强调滤波');
histeq_fhfebtw=histeq(fhfebtw,256);
subplot(1,3,3);imshow(histeq_fhfebtw);title('均衡化结果');%% 二值化
thresh = graythresh(histeq_fhfebtw)  %自动确定二值化阈值;
A=im2bw(I,thresh); % thresh=0.5 表示将灰度等级在128以下的像素全部变为黑色,将灰度等级在128以上的像素全部变为白色。
imshow(A)

运行了上面的代码,得到了许多处理结果,下面是几个比较主要的处理结果。

拉普拉斯锐化结果:

prewitt锐化结果
sobel算子锐化结果
均衡化结果

总结

以就是自己简单的记录了一下制作指纹图集的过程,为做深度学习做数据集。

制作简单的指纹图集,并对其进行处理相关推荐

  1. 如何制作抖音照片图集 照片视频怎么制作

    最近刷抖音依然是国民最热衷的事,不管上下班,只要有一点空闲时间就会想起抖音短视频,其实小编也是一样,总会有一些比较喜欢的类型,我们经常也会看到很多很多图片形式的视频,大多是一些关于爱豆的或者比较励志的 ...

  2. html根据字段制作曲线图,canvas制作简单的HTML图表,折线或者矩形统计(原创)

    插件描述:canvas制作简单的HTML图表,折线或者矩形统计 使用canvas制作简单的HTML图表,折线或者矩形统计. 使用canvas制作简单的HTML图表,折线或者矩形统计,简单而实用.图形由 ...

  3. 【教程】新手如何制作简单MAD和AMV,学不会那都是时辰

    [教程]新手如何制作简单MAD和AMV,学不会那都是时 http://tieba.baidu.com/p/2303522172 [菜鸟教你做MAD]Vegas制作MAD入门教程 http://tieb ...

  4. phalcon: eventManager事件管理(结合dispatcher调度控制器)制作简单的acl

    制作简单的acl, dispatcher(专门用来加载或调度或跳转到相应的url地址即XXXcontroller的调度器或控制器,能够在controller执行前对controller进行停止跳转等) ...

  5. python爬虫图片-如何用Python来制作简单的爬虫,爬取到你想要的图片

    原标题:如何用Python来制作简单的爬虫,爬取到你想要的图片 在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我 ...

  6. hbuilderx制作简单网页_网页制作的基本步骤是怎样的?制作简单网页的具体操作有哪些呢?...

    网页制作的基本步骤是怎样的?制作简单网页的具体操作有哪些呢?如果是详细的网页制作,设计和制作一样关键.有可能是网页设计制作新手对简单网页制作设计的具体操作不太清楚.更别说设计详细的网页了.下面一起来看 ...

  7. php简单网页制作代码,用HTML和CSS以及JS制作简单的网页菜单界面的代码

    这篇文章主要介绍了使用HTML+CSS+JS制作简单的网页菜单界面,这个ABROAD项目所使用的JavaScript部分代码非常简单,需要的朋友可以参考下 写ABROAD项目用到了标签这个东东,其实标 ...

  8. python中excel制作成绩报表_python制作简单excel统计报表2之操作excel的模块openpyxl简单用法...

    python制作简单excel统计报表2之操作excel的模块openpyxl简单用法 # coding=utf-8 from openpyxl import Workbook, load_workb ...

  9. java验证码功能一般怎么做的_java制作简单验证码功能

    本文实例为大家分享了java制作简单验证码的具体代码,供大家参考,具体内容如下 在这里我们需要用到java的画笔工具,所以我们需要导入以下包 import="java.util.*,java ...

  10. d3.js-V3制作简单的飞线图

    d3.js制作简单的飞线图 简介 期末的一个小作业,放上来分享一下.若有不懂的地方欢迎在评论区提问~ 最终效果图: 使用工具 d3.js (V3版本) 步骤简介 准备好数据. 绘制一个中国地图. 绘制 ...

最新文章

  1. 你给需求文档,AI就能帮你开发安卓App
  2. [Python]新手写爬虫全过程(已完成)
  3. select模型详解
  4. 龟兔赛跑的升级版本和在课业学习上的应用
  5. Score Function Trick及其在机器学习中的应用
  6. UCloud想吃科创板的“第一个螃蟹”
  7. Visual Studio 2008破解版本
  8. 爬虫中如何获取页面编码类型
  9. 获2017中国最佳创业投资机构百强,西高投二次创业实现超越
  10. VCL组件之TScrollBar
  11. M study summarize
  12. 前端拼音首字母搜索姓名
  13. Paxos 实现日志复制同步(Basic Paxos)
  14. GIS应用技巧之景观格局分析(四)
  15. 删掉wps后台烂进程
  16. 历史在重演:从KHTML到WebKit,再到Blink(转)
  17. 华为Freebuds Pro 2开启智能高清L2HC后音质差,试试LDAC~
  18. Hive任务执行报错:FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
  19. 数据库释放空间时不能使用delete
  20. 移动硬盘无法弹出,显示被进程占用(system占用)

热门文章

  1. 监听TCP端口号:从简单Socket到NIO到Netty
  2. 數據驅動的到底是什麼
  3. Viruses!!!!!
  4. 网贷平台倒闭了钱要还吗?网贷平台倒闭了怎么还钱
  5. 深入浅出理解视频编码H264结构(内涵福利)
  6. nginx openresty DNS resolver配置实例,通过配置resolver解决proxy_pass中使用变量参数,高性能负载均衡 NGINX Plus 中 RESTful API
  7. Ubuntu系统上编译和安装perl和cpan模块
  8. 推荐一款团队协作软件---confluence
  9. HDFS源码解析---Balancer
  10. 关于邮件签名证书的常见问题