找回密码
 注册
关于网站域名变更的通知
查看: 542|回复: 3
打印 上一主题 下一主题

MATLAB 模式识别

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-9-2 14:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

2 v0 J5 O& p  ]/ {识别问题:
/ b' g& g' @5 C; K% c6 i
0 l1 `, s! U& v$ y; _. z6 r/ @+ d  训练样本-> 特征提取-> 分类器-> 样本类别
! p* k5 F9 [: T/ F0 J
) Q, y9 ]+ W* Z3 s; x5 O                        训练过程
; x  r( D: _: `0 R3 l. u3 `' e6 M1 J5 A) Z3 ^
模式  -> 特征提取  -> 分类器 -> 模式类别
* W$ e+ p6 z. B; }, d2 O& A: Y( A/ y3 k, b+ i
                        识别过程/ k) z1 C, j! u) m& g5 M

1 _% `7 z# H  L2 d  L  最小距离分类器和模板匹配
" n  \' @# J, @- l  n  T
4 b- m; n! ?# |; C9 Y  y最小距离分类器实现源码# S% B+ x8 G' L$ A
; K" c: a* [4 ^( S% h
  • clear all load fisheriris %载入Matlab自带的鸢尾属植物数据集  % 每类的前40个样本用于生成代表该类的模板,后10个作为独立的测试样本 m1 = mean( meas(1:40, :) ); %第1类的前40个样本的平均向量 m2 = mean( meas(51:90, :) ); %第2类的前40个样本的平均向量 m3 = mean( meas(101:140, :) ); %第3类的前40个样本的平均向量  % 测试样本集 Test = [meas(41:50, :); meas(91:100, :); meas(141:150, :)]; % 测试样本集对应的类别标签 classLabel(1:10) = 1; classLabel(11:20) = 2; classLabel(21:30) = 3;  % 利用最小距离分类器分类测试样本 class = zeros(1, 30); %类标签 for ii = 1:size(Test, 1)    d(1) = norm(Test(ii, :) - m1); %与第1类的距离    d(2) = norm(Test(ii, :) - m2); %与第2类的距离    d(3) = norm(Test(ii, :) - m3); %与第3类的距离        [minVal class(ii)] = min(d); %计算最小距离并将距离样本最短的类赋给类标签数组 class end  % 测试最小距离分类器的识别率 nErr = sum(class ~= classLabel); rate = 1 - nErr / length(class); strOut = ['识别率为', num2str(rate)]
    ! t9 [: L2 `& N& L

' a) g1 ~0 I! E1 A( g
0 z% t" T/ t- g. z' a) R, d" S! a2 s. J, y! Z) R. W5 s5 [1 u+ c3 A
基于相关的  模板匹配; n: y( W0 m- f
  • %function Icorr = imcorr(I, w) % function Icorr = imcorr(I, w, ) % 计算图像 I 与子模式 w 的相关响应,并提示最大的响应位置 %  % Input:I - 原始图像 %        w - 子图像 % % Output:Icorr - 响应图像 I=imread('patterns.bmp'); w=imread('pat1.bmp'); figure,imshow(w); [m, n] = size(I); [m0, n0] = size(w);  Icorr = zeros(m-m0+1, n-n0+1); %为响应图像分配空间  vecW = double( w(:) ); %按列存储为向量 normW = norm(vecW); %模式图像对应向量的模  for ii = 1:m-m0+1     for jj = 1:n-n0+1         subMat = I(ii:ii+m0-1, jj:jj+n0-1);         vec = double( subMat(:) ); %按列存储为向量         Icorr(ii, jj) = vec' * vecW / (norm(vec)*normW+eps); %计算当前位置的相关     end end  % 找到最大响相应位置 [iMaxRes, jMaxRes] = find(Icorr == max( Icorr(:) ) ); figure, imshow(I); hold on for ii = 1:length(iMaxRes)     plot(jMaxRes(ii), iMaxRes(ii), 'w*');     plot([jMaxRes(ii), jMaxRes(ii)+n0-1], [iMaxRes(ii), iMaxRes(ii)], 'w-' );     plot([jMaxRes(ii)+n0-1, jMaxRes(ii)+n0-1], [iMaxRes(ii), iMaxRes(ii)+m0-1], 'w-' );     plot([jMaxRes(ii), jMaxRes(ii)+n0-1], [iMaxRes(ii)+m0-1, iMaxRes(ii)+m0-1], 'w-' );     plot([jMaxRes(ii), jMaxRes(ii)], [iMaxRes(ii), iMaxRes(ii)+m0-1], 'w-' ); end% g& C* O$ s/ x9 z( r+ G

8 t; f% s0 N3 l# w$ _
. {# M: Y" G$ v% j: t6 L& P) N
1 V7 @# E+ C& k' A6 m8 k8 t1 i' S. e4 L. e
相关匹配计算效率源码6 _/ Z- J  }# S: g

& C2 j5 r1 Z! }+ I: G3 @6 t0 b
  • function Icorr = dftcorr(I, w) % function Icorr = dftcorr(I, w) % 在频域下计算图像 I 与子模式 w 的相关响应,并提示最大的响应位置 %  % Input:I - 原始图像 %        w - 子图像 % % Output:Icorr - 响应图像 I = double(I); [m n] = size(I); [m0 n0] = size(w); F = fft2(I); w = conj(fft2(w, m, n)); %w 频谱的共轭 Ffilt = w .* F; %频域滤波结果 Icorr = real(ifft2(Ffilt)); %反变换回空域   % 找到最响相应位置 [iMaxRes, jMaxRes] = find(Icorr == max( Icorr(:) ) ); figure, imshow(I, []); hold on for ii = 1:length(iMaxRes)     plot(jMaxRes(ii), iMaxRes(ii), 'w*');     plot([jMaxRes(ii), jMaxRes(ii)+n0-1], [iMaxRes(ii), iMaxRes(ii)], 'w-' );     plot([jMaxRes(ii)+n0-1, jMaxRes(ii)+n0-1], [iMaxRes(ii), iMaxRes(ii)+m0-1], 'w-' );     plot([jMaxRes(ii), jMaxRes(ii)+n0-1], [iMaxRes(ii)+m0-1, iMaxRes(ii)+m0-1], 'w-' );     plot([jMaxRes(ii), jMaxRes(ii)], [iMaxRes(ii), iMaxRes(ii)+m0-1], 'w-' ); end
    2 |- S' f7 F1 {

& R- z1 U; r; `3 \( Y; S
- d- _4 J  n  ?- I  R3 p0 W/ ^) c: `$ A. T1 Z4 J! r4 D

该用户从未签到

2#
发表于 2021-9-2 15:50 | 只看该作者
MATLAB 模式识别

该用户从未签到

3#
发表于 2021-9-2 15:51 | 只看该作者
最小距离分类器实现源码

该用户从未签到

4#
发表于 2021-9-2 15:52 | 只看该作者
相关匹配计算效率源码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 19:38 , Processed in 0.171875 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表