- 在线时间
- 7 小时
- 最后登录
- 2015-2-10
- 注册时间
- 2012-3-22
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 882 点
- 威望
- 0 点
- 阅读权限
- 30
- 积分
- 270
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 9
- 主题
- 0
- 精华
- 0
- 分享
- 0
- 好友
- 1
升级   85% TA的每日心情 | 无聊 2015-2-6 09:42 |
|---|
签到天数: 9 天 [LV.3]偶尔看看II 2013挑战赛参赛者
|
B题! ~) N$ y6 i4 \2 g
主要是应用matlab所提供的灰度共生矩阵" f$ R' T, p Y6 \
graycomatrix()6 T& r7 T7 h' v. K" P
graycoprops();
+ m) o0 Z Y `; ]3 A+ W& | 如果人工干预(例如找到最左边)对于附件1是百分百匹配
, U* X r c7 T' ? X 附件2是匹配出两个大块
4 P/ `6 I6 F5 a 附件3,4,5方法类似
5 z0 z' u: `5 y function [d] = readpic3()2 q0 X& |* H3 U
%人工看出 008.bmp 第9张图片 为最左边 将008.改为000
5 u- z; `" _ Q! a E%filename = 3 {6 B( s; w3 T& S
dirname='E:\Program Files\MATLAB\workfile';7 Z, ?* }6 F! a% E# f* ]2 q# s# `
files=dir([dirname,'\*.bmp']);# b. a! v* d/ \ ]2 g- m: ^- c
Num_file=numel(files);
. i2 A$ \5 Y, Ndata=cell(1,Num_file);$ B, l; L/ {" T; h: g
[M,N]=size(data{1});% M = 1980 N = 72
% P9 |6 W" O6 |8 a9 m9 La = zeros(M,N);( w% @0 s/ O, B, |
b = zeros(M,N);/ {: C7 K" V# |1 K7 p
c = zeros(Num_file);1 Y. U4 H) I/ y! y7 M, u
d = zeros(1,Num_file);%存储排序序列
" s3 q9 x4 u$ z5 E, r% ]% |for k = 1:Num_file
, v9 [9 `8 H M* Q0 Z7 b/ a" W) l data{k} = imread([dirname '\' files(k).name]);
8 X% u6 k' s+ d. N/ nend & F9 C: T2 ]' D1 c
) n4 Z. r. N- P; |! N6 qfid = fopen('数据.txt', 'wt');
3 Q/ f; J$ e I" T2 L l Yfor i = 1:Num_file# t- U( ^+ s& z
a = data{i};
3 h0 o* u5 Q: ?6 Z1 P e = ones(1,Num_file);
- l! ?. v2 C {: [ for j = 1:Num_file % 要左右匹配两次
6 Z* W( p1 m" Q* R- c b = data{j};6 L; }- h: D$ n3 t
img = [uint8(a),uint8(b)];8 O0 J' x! e% j" f1 k3 }! l
img1 = img(1:1980,70:74); % *****很关键*****
! j, m) Z% ?! }5 G% [ R9 u: ` glcm = graycomatrix(img1,'NumLevels',4,'offset',[0,2]);
% w8 Q E* H. F" a( Z$ c% stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy'});%这里仅考虑三个特征值 z; W) B ^( W1 _- q& r9 i
% e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1);%每个特征值减1取绝对值
- J# R- q& V- V* k1 X9 a/ m. ]; N" Q stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy','Correlation'});%这里仅考虑四个特征值
6 K# p5 H! a4 M0 r) m. `' V% ] e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1)+ stats.Contrast;%每个特征值减1取绝对值
+ V/ E9 a- z L: h* {* R" F f fprintf(fid, '%f ',e(j));# s5 Q$ S4 n' I/ o% n4 u' v
end
; A. j9 p" s0 l5 u3 Y& t" M fprintf(fid, '\n');2 _/ W* J$ ^% ]+ a. z
[A,B] = min(e);% A 最小值 B索引 B即为8 x# u, I% c! U9 C8 j" T$ V7 H
d(i)= B-1;: ?! C% Q" u2 G) t g' _% \
end |
-
总评分: 体力 + 25
查看全部评分
|