- 在线时间
- 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题
' V: W" I" y0 y: G' n/ v. O( s3 m主要是应用matlab所提供的灰度共生矩阵+ R) {1 z+ R. l* [. n
graycomatrix() T. B7 I/ K, a
graycoprops();7 c& Z( u4 [$ F6 p4 v8 G. g% [
如果人工干预(例如找到最左边)对于附件1是百分百匹配
, ]& B7 c2 ]3 i0 E9 Z" e 附件2是匹配出两个大块
0 k/ a1 f/ f. @( ~$ W 附件3,4,5方法类似9 W9 Q2 A+ B- X; U# _6 Q& X. A
function [d] = readpic3()2 X& u! }* N% V b5 b
%人工看出 008.bmp 第9张图片 为最左边 将008.改为000& c1 f4 L% Q+ g7 b* `$ _! j: \
%filename =
- l2 E: ], R0 o* p5 Edirname='E:\Program Files\MATLAB\workfile';
& B) Z/ I; Q. m7 U C4 Gfiles=dir([dirname,'\*.bmp']);( B, p7 P: T( d+ M% }" {
Num_file=numel(files);
' Q9 C5 j2 J; L, S* d/ d8 I. Gdata=cell(1,Num_file);- k! V* ]3 W3 `0 l2 Q: |# y. i0 b
[M,N]=size(data{1});% M = 1980 N = 724 m4 L# D0 T: c% J' j, C+ \
a = zeros(M,N); x2 Z/ Y& N. V! ~1 X
b = zeros(M,N);" f7 `( o2 S* @+ L8 U# ]
c = zeros(Num_file);$ Q/ O, U3 \! e& J
d = zeros(1,Num_file);%存储排序序列. A; O' k4 S7 A( z1 V
for k = 1:Num_file
1 M6 h/ H! p9 E- q3 h7 t1 `; ~ data{k} = imread([dirname '\' files(k).name]);4 m5 d$ B* F/ r/ r+ X3 z9 I" ~; |
end 8 u4 M& H. ]0 d& f+ R/ ~
6 R* k/ a2 h" c. ~9 t2 Z3 sfid = fopen('数据.txt', 'wt');
- j; R7 @6 _- Mfor i = 1:Num_file& t- x0 ~, v# `# \8 i) C# b
a = data{i};
( h! q2 K* _! [( U' P% d e = ones(1,Num_file); r- `' H+ n2 b* g: T7 X0 G$ a4 @
for j = 1:Num_file % 要左右匹配两次, c% G( @4 z0 A% k4 V' Q
b = data{j};
$ H! l0 Z- H! ` K5 G img = [uint8(a),uint8(b)];
4 P( p# R0 N2 l. ^: _* L5 T3 d6 l$ d img1 = img(1:1980,70:74); % *****很关键*****) j0 H. A3 K" o/ h$ M
glcm = graycomatrix(img1,'NumLevels',4,'offset',[0,2]);) x* L3 |9 T7 k/ K) y, d. k( ~
% stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy'});%这里仅考虑三个特征值
. S% N6 V' @4 a% e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1);%每个特征值减1取绝对值1 J. H5 s) C7 T1 S9 D* r; l% ?9 x
stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy','Correlation'});%这里仅考虑四个特征值
- I7 Z! B' }% \* f( _$ ~ e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1)+ stats.Contrast;%每个特征值减1取绝对值4 K5 F% f/ w# |
fprintf(fid, '%f ',e(j));6 Z& X8 g" f- B% Y
end; c1 k' C9 E5 g D0 ]* d' W5 ?
fprintf(fid, '\n');/ |6 `( x+ m: J0 y, G
[A,B] = min(e);% A 最小值 B索引 B即为
3 c; s& [7 {, |) e* X7 e- I d(i)= B-1;' T( T% Y* n/ \7 a* P% Y
end |
-
总评分: 体力 + 25
查看全部评分
|