目标识别python代码笔记(1)——特征检测中的问题

1、如何读取文件夹中的所有图像文件?

——python中的os模块提供了很好的解决方法

2、用freak检测时,调用opencv中的detectAndCompute()函数,总出现报错,原因是没有mask值?

——没有解决。。。mask是掩膜,按说应该赋值为None就可以,可是仍然报错,后来的折中办法是,freak方法中,特征检测使用的是brisk中的方法,特征描述是用的freak描述符,所以我调用brisk生成keypoint,再调用freak直接生成descriptor。


3、文件保存问题

每张图像的keypoint是一个list,descriptor是array,所以在把所有图像的keypoint保存时,我用到了append()方法,对于keypoint可以直接append,生成N*1维的数组(N代表图像个数)形式如下:

[[keypoint for img1],[keypoint for img 2]....[keypoint for imgN]],

对于descriptor,先将其转换为list,再append,生成3D数组,N*Mat(N为图像个数,Mat为每张图像的descriptor原本的数组形式),形式如下:

[[des1][des1]......[des1]]——img1的descriptor,是一个二维数组

.

.

[[desN][desN].....[desN]]——imgN的descriptor,是一个二维数组



4、生成txt文件并保存的问题

使用np.savetxt()保存时,刚开始会报错,

原因在于,keypoint是2D数组,descriptor是3D数组,当数据维数过大时,保存就会出错。解决方法是,在savetxt的参数中,将fmt修改为‘%s’,即


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值