- 在线时间
- 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题/ [0 f3 e+ C, o: _5 H' }
主要是应用matlab所提供的灰度共生矩阵
2 p6 n, }- m: F2 m2 W graycomatrix()
8 y( ~2 L ?( t8 a# T: ~ graycoprops();2 T* ~* C3 q ]8 p. c( g+ A0 R
如果人工干预(例如找到最左边)对于附件1是百分百匹配
K* X; w q4 e, n. v 附件2是匹配出两个大块
$ Z: | q0 b4 I 附件3,4,5方法类似* {! r; {8 |. ~ T2 s0 ?
function [d] = readpic3()! z, w0 `0 j+ M) c3 K3 c
%人工看出 008.bmp 第9张图片 为最左边 将008.改为0006 R9 O" q2 v( m
%filename =
; p9 z" ?& t6 [dirname='E:\Program Files\MATLAB\workfile'; W2 M! w" B; ^8 i2 F' N/ A
files=dir([dirname,'\*.bmp']);
7 I% ~$ @- \; ^' ~! L" {. o7 INum_file=numel(files);+ ~6 X& s, z% v' M) R t& ?
data=cell(1,Num_file);0 ?$ Z% {/ w4 O
[M,N]=size(data{1});% M = 1980 N = 72
+ g* |$ b" t' I# f' F- n5 l# na = zeros(M,N);
# ]8 [- ^+ Q& |" c4 p; R7 \b = zeros(M,N);4 k0 @+ y" V. O8 |" Q8 p$ y1 `, R
c = zeros(Num_file);
) s+ Y* {5 D% Hd = zeros(1,Num_file);%存储排序序列; T9 W( N* X: B8 n
for k = 1:Num_file4 A- p8 W7 ]+ `5 k& C3 p
data{k} = imread([dirname '\' files(k).name]);
( u9 U- E: Y, Uend
/ ~ k# L+ `) K2 [1 W, }
% h) n: m9 y7 H5 Ofid = fopen('数据.txt', 'wt');
# a! N5 Y! O. Afor i = 1:Num_file
9 U8 @! I0 b2 w' E. p9 Q" y1 ~! @ a = data{i};! T) U; s1 ]4 s
e = ones(1,Num_file);
9 U7 |: U+ p2 j% x( c6 _ y5 y for j = 1:Num_file % 要左右匹配两次! y4 t8 j+ L; T- i; i- _( ]& A0 H* v
b = data{j};, m" p# m1 N$ q8 ~" Q
img = [uint8(a),uint8(b)];8 g4 c# u$ Q- s8 W
img1 = img(1:1980,70:74); % *****很关键*****+ w7 T3 ? x7 ^6 _; ^* m
glcm = graycomatrix(img1,'NumLevels',4,'offset',[0,2]);1 C! }6 q% D1 s2 |5 F! @8 A
% stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy'});%这里仅考虑三个特征值
2 i! y0 s1 q. P5 v9 a% e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1);%每个特征值减1取绝对值' R! ^3 @! x: A. V0 o. K4 x
stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy','Correlation'});%这里仅考虑四个特征值3 X# ]2 d; ~6 W: H7 R+ G& @5 w+ U
e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1)+ stats.Contrast;%每个特征值减1取绝对值3 t" c/ K5 x! H$ s1 T" ?# o
fprintf(fid, '%f ',e(j));
0 o2 e9 S$ [7 h/ t) E end
9 M+ m/ I9 t1 t5 H8 | fprintf(fid, '\n');; Y1 X" G; i, ^* ]4 u
[A,B] = min(e);% A 最小值 B索引 B即为
; d! X3 ~5 E$ y6 S* L( r! `3 [ d(i)= B-1;$ Y& S" i3 e& N/ i9 n
end |
-
总评分: 体力 + 25
查看全部评分
|