- 在线时间
- 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题/ D4 s- ~3 A3 M8 X6 Q) f; i* a
主要是应用matlab所提供的灰度共生矩阵- s5 q1 Q; r9 ]1 m$ N4 v# t7 {# H$ b
graycomatrix()# @7 D! K2 H$ K9 k
graycoprops();
( W* i, o! D' h" W. J 如果人工干预(例如找到最左边)对于附件1是百分百匹配
0 Z' ]' [) d, R7 j% e a 附件2是匹配出两个大块
& B e1 Y$ v; ~4 ?. V9 U 附件3,4,5方法类似
+ a7 b/ |0 C' o8 T0 u9 o! c D function [d] = readpic3()" h4 Y/ ]" p/ a# s6 ^
%人工看出 008.bmp 第9张图片 为最左边 将008.改为000
! D' p+ F! K. r7 A, {$ j: |%filename =
0 Y7 v% S' v* Cdirname='E:\Program Files\MATLAB\workfile';
, a0 m! f5 [5 ]. ~5 F! ]1 xfiles=dir([dirname,'\*.bmp']);
0 j7 V4 _# r0 C! v. [* i: FNum_file=numel(files);: ~) }; T& k/ @0 ? n% S D: b$ N0 C/ p
data=cell(1,Num_file);2 i3 w* H# {; d7 ^7 D
[M,N]=size(data{1});% M = 1980 N = 72
3 _6 I; T; k, |+ n! \! V' Ya = zeros(M,N);
! ]" I: p6 A/ p! Gb = zeros(M,N);) d! ^5 z! ^2 d3 T5 K5 r
c = zeros(Num_file);4 ~) k9 N: F7 ~" A
d = zeros(1,Num_file);%存储排序序列
% [# R/ L; }9 V8 Bfor k = 1:Num_file
$ M6 [3 E5 O# {# C& L. `, m6 G data{k} = imread([dirname '\' files(k).name]);
W5 C( x3 `# U/ s) Cend
# k& V! n3 w! G0 \
. S6 z& j4 V: A& I/ I$ Mfid = fopen('数据.txt', 'wt');6 G2 g1 _" l5 J: k' s9 A
for i = 1:Num_file- L! x" k/ @: w) n5 i! {
a = data{i};, |/ k2 q: s7 w& v. F6 l
e = ones(1,Num_file);
! ?: S/ C8 t$ a$ U0 N for j = 1:Num_file % 要左右匹配两次
0 B: V, Z4 D. N; \4 K9 K" o- ^ b = data{j};
& f3 F& I0 J6 ]* g0 u0 r img = [uint8(a),uint8(b)];3 g4 N9 @4 l$ ?; G, _
img1 = img(1:1980,70:74); % *****很关键*****/ f& z: q. K3 r
glcm = graycomatrix(img1,'NumLevels',4,'offset',[0,2]);! U4 p/ N! x- ~' _. m
% stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy'});%这里仅考虑三个特征值" }- a* ~5 }! G1 E# w, h
% e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1);%每个特征值减1取绝对值4 `, a& U) d+ k3 ?
stats = graycoprops(glcm,{'Contrast','Homogeneity','Energy','Correlation'});%这里仅考虑四个特征值
1 V" J- A9 T! J; d/ ~ e(j) = abs(stats.Correlation-1)+abs(stats.Homogeneity-1)+abs(stats.Energy-1)+ stats.Contrast;%每个特征值减1取绝对值
6 K. Q* `( ?) Z: V( l; g fprintf(fid, '%f ',e(j));; l' C5 o0 i* z6 U! n
end
6 s! U! X1 _: J" S3 g3 t& Z' d/ j fprintf(fid, '\n'); F! N; M- H$ t" X* S7 h
[A,B] = min(e);% A 最小值 B索引 B即为
* z& S4 q7 m% O5 S8 |) K d(i)= B-1;
% O$ S" G Q8 Rend |
-
总评分: 体力 + 25
查看全部评分
|