我要加入 登录
声振论坛 返回首页

happy的个人空间 http://home.vibunion.com/?1691 [收藏] [复制] [分享] [RSS]

日志

已经转换成jpg格式的matlab图片获取坐标

已有 2640 次阅读2006-9-4 10:03 |个人分类:小小技巧

天气: 晴朗
心情: 高兴

问题来源:http://www.chinavib.com/forum/thread-23777-1-1.html

测试图片:

 

代码:

clc;
clear;
a=imread('a.jpg');
a(a<150)=0;
a(a>150)=255;
[L,M,N]=size(a);
blkx=[];
blky=[];
for i=1:L;
        if sum(a(i,fix(M/3):fix(2*M/3),2))<10;
        blky=[blky,i];
    end   
end
for j=1:M;
        if sum(a(fix(L/3):fix(2*L/3),j,2))<10;
        blkx=[blkx,j];
    end
    for i=1:L
        if a(i,j,1)~=255 | a(i,j,2)~=0 | a(i,j,3)~=0
            a(i,j,:)=255;
        end
    end
end
b=rgb2gray(a);
b(b~=255)=0;
imshow(b)
for i=1:40
    dx=(max(blkx)-min(blkx))/40;
    xi(i)=fix(dx*i+min(blkx));
    yi(i)=mean(find(b(:,xi(i))==0));
    y(i)=1.5-1.5*(yi(i)-min(blky))/(max(blky)-min(blky));
end

结果:

y =

  Columns 1 through 7

    0.7440    0.6720    0.5160    0.6460    0.9240    1.0680    1.0740

  Columns 8 through 14

    1.0560    1.1760    1.1400    1.2840    1.3080    1.0260    0.9120

  Columns 15 through 21

    0.9480    0.6600    0.6840    0.7920    0.6180    0.7575    1.0380

  Columns 22 through 28

    0.9780    0.8820    1.0380    1.1280    1.2000    1.2420    1.1520

  Columns 29 through 35

       NaN    1.1467    0.8860    0.8760    0.7152    0.6480    0.3915

  Columns 36 through 40

    0.9660    0.9024    0.8400       NaN    1.1880

说明

1.以上代码还不完善,如果要做到通用还需要大量的修改,另外代码也需要进行优化,不过还是基本能实现你这个问题的
2.这里有两个结果出现了NAN,这是由于在你的图片中那个标签挡住了两个点的原因!

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 我要加入

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-1 05:20 , Processed in 0.032334 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部