xiaoning9903 2022-04-23 18:38
浏览 61
已结题

指纹图像增强-matlab

要求是进行归一化,计算方向场,频率场,滤波增强处理,现在我把方向图做出来了,但是有一点问题。有的图片可以运行,不出错,但是另一张图片就会出错,产生3个归一化的图像

img

clear;close all;

fp=imread('image1.tif'); %读入指纹图象
imshow(fp);title('原始指纹图象') %显示指纹图象
%以下是对原始指纹图象进行归一化,归一化后的灰度均值M0设为100,方差Var0为100
M0=100;
Var0=100;
[len,wid]=size(fp);
fpn=zeros(len,wid); %为归一化后的图象设置存储空间
M=mean2(fp); %求原始指纹图象灰度均值
Var=std2(fp)^2; %求原始指纹图象灰度方差
%归一化
fp=double(fp); %将uint8型转换成double,便于sqrt的计算
for i=1:len
for j=1:wid
if fp(i,j)>M
fpn(i,j)=M0+sqrt( Var0*(fp(i,j)-M)^2/Var );
else
fpn(i,j)=M0-sqrt( Var0*(fp(i,j)-M)^2/Var );
end
end
end
fpn=uint8(fpn);
figure,imshow(fpn);title('归一化后的指纹图象'); %显示归一化后的指纹图象

在绘制方向图的时候,有一段代码看不懂,不太能理解这个意思
switch y1
            case 1
              angle_xy(4,[2:7])=0;   %方向1,即方向为0度时,令第8行第2-15列的元素为0(黑色)
            case 2
              idx=sub2ind(size(angle_xy),[  3 4 4 5 5 6  ],[2:7]);
              angle_xy(idx)=0;                 
            case 3
              idx=sub2ind(size(angle_xy),[2:7],[2:7]);
              angle_xy(idx)=0;
            case 4
              idx=sub2ind(size(angle_xy),[2:7],[  3 4 4 5 5 6  ]);
              angle_xy(idx)=0;
            case 5
              angle_xy([2:7],4)=0;
            case 6
              idx=sub2ind(size(angle_xy),[7:-1:2],[   3 4 4 5 5 6 ]);
              angle_xy(idx)=0;
            case 7
              idx=sub2ind(size(angle_xy),[7:-1:2],[7:-1:2]);
              angle_xy(idx)=0;                     
            case 8
              idx=sub2ind(size(angle_xy),[  6 5 5 4 4 3  ],[2:7]);
              angle_xy(idx)=0;
            end

             block_dmap([1+(i-1)*8:8+(i-1)*8],[1+(j-1)*8:8+(j-1)*8])=angle_xy;
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月1日
    • 创建了问题 4月23日

    悬赏问题

    • ¥15 而且都没有 OpenCVConfig.cmake文件我是不是需要安装opencv,如何解决?
    • ¥15 oracleBIEE analytics
    • ¥15 github录制项目
    • ¥15 H.264选择性加密例程
    • ¥50 windows的SFTP服务器如何能批量同步用户信息?
    • ¥15 centos7.9升级python3.0的问题
    • ¥15 如何解决调试dev-出++5.11不成功问题
    • ¥15 安装CentOS6时卡住
    • ¥20 关于#监控系统#的问题,如何解决?(相关搜索:系统软件)
    • ¥20 c语言写的8051单片机存储器mt29的模块程序