- 在线时间
- 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题" Q5 S- ^, G% W
主要是应用matlab所提供的灰度共生矩阵" f" }! s3 ]6 T6 i
graycomatrix()
; C7 [& v4 s/ N6 }% T graycoprops();
# G& p! R0 \6 e0 |7 \: F 如果人工干预(例如找到最左边)对于附件1是百分百匹配, y, Q1 U$ R7 }( Z2 {' y1 a
附件2是匹配出两个大块
0 r. T/ y$ L& E9 a/ \; l8 I 附件3,4,5方法类似- P+ Q1 l4 r: Y6 R
function [d] = readpic3()% s8 A2 J( }* u: c" {" e" m/ _3 L
%人工看出 008.bmp 第9张图片 为最左边 将008.改为0008 |, Y+ D7 t0 {3 s7 G+ _/ G
%filename = " q. i+ N( _8 d' g5 q
dirname='E:\Program Files\MATLAB\workfile';
( H( S5 { D1 U4 Zfiles=dir([dirname,'\*.bmp']);
1 `' E' U8 M4 [. Z# i1 J$ w8 Z! INum_file=numel(files);9 t5 P% Q% l6 y2 j9 R1 A7 J! X! q
data=cell(1,Num_file);
) E3 r, \5 ]3 c! S[M,N]=size(data{1});% M = 1980 N = 72% f' ~. w6 K, h s$ M
a = zeros(M,N);) C( p4 K% }: j( S d
b = zeros(M,N); P) l0 ?* D$ r( J4 h, N
c = zeros(Num_file);
" ]9 p; L8 d6 t$ ?+ K, n* F5 od = zeros(1,Num_file);%存储排序序列# m% `* {, L8 @' q [% Y5 D
for k = 1:Num_file! U& {, J8 T% ~/ T
data{k} = imread([dirname '\' files(k).name]); M0 S& X; I: B7 |. Z& `3 l; k _
end |7 A! H; z5 a. z$ N& K& j
% y% ^7 n4 a0 ]# o4 R! B9 hfid = fopen('数据.txt', 'wt');
( a u2 S4 o4 p: bfor i = 1:Num_file
, v) G2 D" O h+ T& w) n a = data{i};
& o- j4 Y- c7 T* O% L e = ones(1,Num_file);
) S; ?% d$ s4 i" v7 j for j = 1:Num_file % 要左右匹配两次
A' t" Q& Q% P/ M1 i, T' v b = data{j};) A+ K" t( i y# w D) u9 k
img = [uint8(a),uint8(b)];
, Q" c9 {% l: z4 L2 E9 m img1 = img(1:1980,70:74); % *****很关键*****
/ L( Y0 |# Q+ N! Y& m! w! P6 X glcm = graycomatrix(img1,'NumLevels',4,'offset',[0,2]);
) M, g7 `" B& G7 {# q% stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy'});%这里仅考虑三个特征值8 c, w$ O0 c5 g6 a
% e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1);%每个特征值减1取绝对值
& b. G% q) v, ?# U/ k4 L$ f stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy','Correlation'});%这里仅考虑四个特征值
/ i* I" |% H# J# {% I4 ^ e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1)+ stats.Contrast;%每个特征值减1取绝对值+ L2 m: g/ ^ }. r
fprintf(fid, '%f ',e(j));: Z2 c4 T& q( |; ~# }& l. q
end- d- A! |7 ^& k; [7 Z
fprintf(fid, '\n');
; o( H% E; F4 \/ W* Z [A,B] = min(e);% A 最小值 B索引 B即为7 N% G7 n0 w5 M; Z3 m- C: ^
d(i)= B-1;
- \- |/ v0 H/ G3 Send |
-
总评分: 体力 + 25
查看全部评分
|