- 在线时间
- 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题
* R i4 p- c9 `) x" K主要是应用matlab所提供的灰度共生矩阵# A+ F; ]- k3 k2 V6 }2 L* K
graycomatrix()5 j y7 ~/ H; e* ^ w; f9 c3 h
graycoprops();8 f+ ~' z$ i& Z. W* H0 {
如果人工干预(例如找到最左边)对于附件1是百分百匹配
5 W. |1 Z/ r+ B1 b( S# b 附件2是匹配出两个大块
9 i. N7 m. r7 C+ h- ~4 a 附件3,4,5方法类似5 ^* R4 ~0 g+ k/ A1 B
function [d] = readpic3()
( V/ D1 R1 N2 z; b) Q%人工看出 008.bmp 第9张图片 为最左边 将008.改为000
# U. Z9 p! P3 C1 c%filename = 3 R7 i, D* i7 W2 l9 l. [8 Z
dirname='E:\Program Files\MATLAB\workfile';
! S: Y4 R8 n4 W, ?) A* tfiles=dir([dirname,'\*.bmp']); D( Y( P5 O6 F' x4 X& u
Num_file=numel(files);6 k1 i' w0 E( j; s7 ]# m2 u$ d: `
data=cell(1,Num_file);
" j( ?6 V, j) y2 X. s* ]) `5 u! a6 B[M,N]=size(data{1});% M = 1980 N = 721 l& y6 M' n) e7 H3 M n- Q1 ?6 C
a = zeros(M,N);
; w8 D5 m3 S% |b = zeros(M,N);& J1 Z5 ?) y: o! ^7 S: c- ?2 Z
c = zeros(Num_file);
1 C6 h( u" z" f6 @+ d9 o; n1 sd = zeros(1,Num_file);%存储排序序列
4 @1 ]! F* M& b% ?0 ufor k = 1:Num_file, \' j. A) S8 O1 d u# z( q
data{k} = imread([dirname '\' files(k).name]);# c& i( `5 ~, `6 C" B. W
end
" A8 j& F- S" @, H7 Y
3 f& H1 t& ^# T+ y2 jfid = fopen('数据.txt', 'wt');
0 D! v' \' \( r0 R6 Z7 Z* p9 |5 U3 Cfor i = 1:Num_file
7 ~* U6 c$ g# f a = data{i}; T$ p& K, j8 V5 N7 {
e = ones(1,Num_file);& M x+ O! Q( U' j/ O* ?5 a
for j = 1:Num_file % 要左右匹配两次
/ b$ V' i, r( @1 l/ R b = data{j};
9 T9 k* ~, |7 y8 r# _ img = [uint8(a),uint8(b)];/ H+ a5 Y7 m7 h/ L, O7 D
img1 = img(1:1980,70:74); % *****很关键*****+ Y* ?$ i. ^: {! S
glcm = graycomatrix(img1,'NumLevels',4,'offset',[0,2]);+ k( G& ~9 M/ E* `
% stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy'});%这里仅考虑三个特征值+ a$ t3 _ Q. M7 e
% e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1);%每个特征值减1取绝对值2 W% v* j+ H+ j# o/ D
stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy','Correlation'});%这里仅考虑四个特征值8 \! n% V! I- F8 E3 Z( @5 M5 } X
e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1)+ stats.Contrast;%每个特征值减1取绝对值
; P+ [3 Q9 Z/ y" w+ J# V fprintf(fid, '%f ',e(j));
* {6 n A( y. ^2 F end
! `0 ^7 B. H' G% G" ]. }5 M g fprintf(fid, '\n');+ y0 H% f: K5 R7 H. z) z' E- O% N
[A,B] = min(e);% A 最小值 B索引 B即为% _# m9 J3 h; [/ B
d(i)= B-1;" E) `) B+ [# g$ K
end |
-
总评分: 体力 + 25
查看全部评分
|