声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1196|回复: 3

[图像处理] 求助:关于图像识别(识别小十字,读出其坐标)有了新想法

[复制链接]
发表于 2007-4-5 16:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我要做的是把小十字从那幅狗狗的图里找出来,并读出坐标。。
前提是知道小十字,小十字是10*10的bmp格式的,狗狗图是500*500bmp格式的,而且小十字在狗狗的图里,小十字大小全不变。
我想到的方法是进行图像扫描,先读入小十字,再读入狗狗图
作一个循环,进行像素的相减,如果得0的话就是小十字。。。
这个问题类似于卷积的问题:
把小十字作为模板  10*10的。
之后在狗狗图上取10*10的模板,从一排一列做循环
for i=1:500
   for j=1:500
       E=..........(这块要取一个10*10的模板,可否用nlfilter这个函数呢?)
     for n=1:10
          for m=1:10
             d=模板-E;
if d=0;输出坐标

  以上是我写的一个大概,不知道看的人明白不明白我的意思。。不知道我这样想可行不可行呢,小妮子我没用matlab做过什么,这次算是真正的学习吧。谢谢达人给些提示!

小十字

小十字
回复
分享到:

使用道具 举报

 楼主| 发表于 2007-4-5 16:59 | 显示全部楼层
狗狗图248k的传不上来
 楼主| 发表于 2007-4-14 00:27 | 显示全部楼层
用不用给图像矩阵数据最上最下最左最右填上两行数据0呢?
我把我最近学习的一块卷积运算的小程序给大家一起学习吧

% --- 模板卷积运算 ---
for i=2:257
    for j=2:257
        image33=[e(i-1,j-1) e(i-1,j) e(i-1,j+1); % 从图像e中取出3×3的矩阵
                 e(  i,j-1) e(  i,j) e(  i,j+1);
                 e(i+1,j-1) e(i+1,j) e(i+1,j+1)];
        temp=0;                 % 模板初始值为0
        for m=1:3               % 图象的9个像素分别与模板的9个元素相乘,累加其结果。
            for n=1:3   
                temp = image33(m,n) * panel(m,n) + temp;
            end
        end
        panelimage(i,j)=temp/9; % 为控制亮度,将累加值取平均
    end
end
这个取得是一个3*3的模板
我要取一个10*10的模板
发表于 2007-4-14 21:17 | 显示全部楼层
理论上是可行的,不过估计计算量会很大

另外你的循环不对,应该是491*491次
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-13 02:47 , Processed in 0.087960 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表