- 在线时间
- 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题
4 |/ f% j0 ]. v. }( l& k2 s主要是应用matlab所提供的灰度共生矩阵
0 c% V9 c1 K' ^$ p$ C* m( n L graycomatrix()7 |2 `% b; x5 f* k! r2 O( f
graycoprops();, v4 s, N8 S: S3 ^6 W
如果人工干预(例如找到最左边)对于附件1是百分百匹配1 ~8 P$ x4 E! ?- b% E) X3 v2 ~
附件2是匹配出两个大块+ X3 x8 |( L8 y' O4 L# D0 R5 Y
附件3,4,5方法类似5 L+ T6 `6 F7 F T
function [d] = readpic3()
: R$ B! b0 F7 C+ C+ ^5 e) {8 Q' O%人工看出 008.bmp 第9张图片 为最左边 将008.改为000
* u9 f# c9 R+ C%filename =
" q& x o- m) adirname='E:\Program Files\MATLAB\workfile';# h0 m5 q- H- U7 a" U% U, H. m
files=dir([dirname,'\*.bmp']);. H! E: ^& v1 v% O! s
Num_file=numel(files);: Z# J- s+ M; k3 h K [
data=cell(1,Num_file);4 k' L8 M( X2 A7 V, r
[M,N]=size(data{1});% M = 1980 N = 72! K6 U# _- R _8 E9 W& k
a = zeros(M,N);
1 h* j; i& d# m' }5 G& w. Y7 N4 ]7 M sb = zeros(M,N);
b) f' U9 Z8 \& N; Ac = zeros(Num_file);
/ w& }, Q) x) ~$ w$ M8 Bd = zeros(1,Num_file);%存储排序序列% z0 P2 O8 \4 K; k6 y
for k = 1:Num_file8 }! \$ L }) k/ y; Y
data{k} = imread([dirname '\' files(k).name]);0 J, u5 H2 R* B
end
2 F% _: g U2 L& }2 |
- @' b0 c; H9 n7 n3 Ffid = fopen('数据.txt', 'wt');
$ q! c8 }" U; j( f7 S+ mfor i = 1:Num_file
3 x0 G2 ?( a+ q& a- V a = data{i};, y8 q1 p& S6 r2 H$ [* N
e = ones(1,Num_file);
4 \8 P- v& E& a2 Y for j = 1:Num_file % 要左右匹配两次- S8 a/ o: Z r
b = data{j};7 A8 l; ?5 w, j, _
img = [uint8(a),uint8(b)];0 M7 U! t$ }5 J. X" H- |
img1 = img(1:1980,70:74); % *****很关键*****
* q9 }, `3 Y3 ~% [2 o/ Q+ o" Q glcm = graycomatrix(img1,'NumLevels',4,'offset',[0,2]);
# x7 Y. S% y: A4 X( D: Z* E% stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy'});%这里仅考虑三个特征值+ H& p8 m- C' ^0 e0 {* C, p, ?
% e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1);%每个特征值减1取绝对值
5 V4 I& a+ _' h. p$ d, P$ { stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy','Correlation'});%这里仅考虑四个特征值
* u3 }; ?8 o5 |$ U& X e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1)+ stats.Contrast;%每个特征值减1取绝对值
3 v" Y* r' T: O5 d& w$ ]) S. k fprintf(fid, '%f ',e(j));
3 k" _/ o9 Q5 u! Y- y2 ^9 `* F+ {* a7 } end% c; V3 T2 I; N9 s+ b0 B
fprintf(fid, '\n');- f# B! \' r9 B7 u8 k
[A,B] = min(e);% A 最小值 B索引 B即为
, v' ]$ D$ i! s4 Q. F d(i)= B-1;
0 e8 w. G+ x. W! [: ? gend |
-
总评分: 体力 + 25
查看全部评分
|