Matlab 版 (精华区)

发信人: zjliu (秋天的萝卜), 信区: Matlab
标  题: [合集]求教图像特征提取
发信站: 哈工大紫丁香 (2003年05月14日12:19:07 星期三), 站内信件


────────────────────────────────────────
 lyj (alone)                          于 2003年05月10日19:53:17 星期六 说道:

我用edge()函数提取图像轮廓,应该可以用一个稀疏矩阵来存储
轮廓上的边界点吧(不知道对不对)?请问应该具体怎么做?谢谢!^_^

────────────────────────────────────────
 Systems (Control Nerd)               于 2003年05月10日20:17:26 星期六 说道:

用edge()不如用fspecial里面的'canny'滤波器。
这个效果好.
对于之后得到的二值图象,可以用sparse()函数来转化
成稀疏矩阵

────────────────────────────────────────
 lyj (alone)                          于 2003年05月10日20:36:55 星期六 说道:

谢谢Systems!但是,我用fspecial时,里面没有’canny'滤波器呀?

────────────────────────────────────────
 Systems (Control Nerd)               于 2003年05月10日20:39:50 星期六 说道:

对不起,记错了,是在 edge()函数里面canny的选项。
打help edge看吧:)

────────────────────────────────────────
 lyj (alone)                          于 2003年05月10日21:05:47 星期六 说道:

谢谢!但是它的稀疏矩阵也是和原来的大小一样,如果我把它
直接作为特征输入到神经网络,那么输入神经元岂不是太多了?
还是么从中提取特征值那?非常感谢!

────────────────────────────────────────
 Systems (Control Nerd)               于 2003年05月10日21:21:08 星期六 说道:

比如白的是1(255),黑的是0,直接逐个元素鉴别就可以了。
至于怎么减少Neural Network输入个数,那就很麻烦了。
这个我得考虑一下,我也不是很熟悉

────────────────────────────────────────
 lyj (alone)                          于 2003年05月10日21:28:40 星期六 说道:

谢谢你!但我的是灰度图像,又是274×274的,逐个好像不行吧?3X

────────────────────────────────────────
 zjliu (秋天的萝卜)                   于 2003年05月10日21:32:45 星期六 说道:

弄个循环?

────────────────────────────────────────
 Systems (Control Nerd)               于 2003年05月10日21:46:06 星期六 说道:

这个有什么不行的吗?

────────────────────────────────────────
 lyj (alone)                          于 2003年05月10日21:50:21 星期六 说道:

那你的意思是要把这个矩阵变成二值的了?

────────────────────────────────────────
 Systems (Control Nerd)               于 2003年05月10日22:06:42 星期六 说道:

你 edge()后图象应该是二值的了吧

────────────────────────────────────────
 lyj (alone)                          于 2003年05月10日22:13:19 星期六 说道:

哈哈,不好意思,我没注意^_^,
那么,能不能帮我看看怎么样提取特征,作为输入神经元呀,谢谢!^_^

────────────────────────────────────────
 zjliu (秋天的萝卜)                   于 2003年05月10日22:17:01 星期六 说道:

edge结果取均值(用均值识别),再输入如何?
这样可以少很多个数据

────────────────────────────────────────
 lyj (alone)                          于 2003年05月11日09:29:07 星期天 说道:

我在edge()后,先映射了稀疏矩阵,然后对稀疏矩阵求了特征值(6×1的)
,如果在求均值,结构就是一个标量,问题是求均值后具有不变性吗?
如果不具有不变性是不是就不能作为输入神经元了?3x!

────────────────────────────────────────
 zjliu (秋天的萝卜)                   于 2003年05月11日09:33:31 星期天 说道:

我觉得你可以分别对图像矩阵的行和列求均值,我想这两个
均值能反映图像的部分特征,这样你只需用两个一位数组作
输入即可

────────────────────────────────────────
 lyj (alone)                          于 2003年05月11日09:57:13 星期天 说道:

按行和列求均值,就分别是274×1,和1×274的了?

────────────────────────────────────────
 zjliu (秋天的萝卜)                   于 2003年05月11日09:58:25 星期天 说道:

数组你可以把它转置处理呀,至于输入你自己试试吧

────────────────────────────────────────
 Systems (Control Nerd)               于 2003年05月11日10:39:45 星期天 说道:

edge()后只有黑白点,你怎么取均值啊?
我的建议是用
1.总特征点点数
2.多选取几对特征点和特征点之间的距离,取这些距离的平均值和方差
  作为另外2个输入
这样总共3个输入,如何?

────────────────────────────────────────
 lyj (alone)                          于 2003年05月11日10:45:45 星期天 说道:

好,我试试,谢谢!

────────────────────────────────────────
 zjliu (秋天的萝卜)                   于 2003年05月11日11:05:20 星期天 说道:

高!我咋没想到呢

────────────────────────────────────────
 lyj (alone)                          于 2003年05月11日11:06:06 星期天 说道:

请问上面的第二个问题,怎么样选取特征点和他们间的距离呀?
非常感谢!^_^

────────────────────────────────────────
 Systems (Control Nerd)               于 2003年05月11日11:09:25 星期天 说道:

比如你获得了2个黑点作为特征点,他们有不同的坐标(x,y)
求他们的距离就完了呗

────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.998毫秒