首页 > 编程知识 正文

qpython,pythonsvm图像分类

时间:2023-05-04 04:19:11 阅读:38349 作者:425

因为我在前言中看到了这篇文章,所以我想我对HOG还有点了解,对此不做说明。 其实我自己不太清楚,比刚开始要好一点。 我的代码参考了这个博客。 让我看一下

上面的博主使用的是cifar-10数据集,但我们的数据集很可能是普通图像,所以我们做了一些改进。

注意事项:你的图像长宽可以不相等。 请设置image_height和image_width。

如果图像大小不相同,可以使用change_size.py使所有图像大小相同。

与你的照片对应的标签必须是这样的:

001.jpg 1

003.jpg 2

前面是图像名称,后面是相应的类别(类别用数字表示),中间用空格分隔,每个标签占一行。

必须准备训练用和测试用两个文件。

培训样本标签和预测的格式相同

大家可以看到github上的实例。 () image文件夹) )。

你的训练和测试图像可以放在同一个文件夹下,也可以不一样。 请设置train_image_path和test_image_path。

根据你图像的大小,需要对这个代码进行一些调整。 要进行这个调整,首先需要了解hog的知识:

FD=hog(gray,orientations=18,pixels _ per _ cell=[ 8,8 ],cells _ per _ block=[ 4,4 ],visualise=False

这是我为128x128大小的图像设定的提取hog特征的参数,你需要适当改变,那时的效果也不同。

orientations我选择9或18,也就是梯度方向的数量

通常,图像越大,pixels_per_cell和cells_per_block的值越大。

如果多次执行,建议您将文件位置参数置于死位置

#训练集图像位置train _ image _ path='/home/ice lee/downloads/dataset/small _ Shi Xun/' #测试集图像位置test _ image ice lee/downloads/dataset/my data.txt ' #测试集标签的位置test_label_path='/home图像大小image _ height=128 image _ wwt 也可能有零碎的库,大家用pip安装就好了。

实验都是彩色图像。 如果你的图像是纯黑白的,你可能需要更改代码,看看代码注释

如果采用该测试cifar-10,命中率为50%多()一点点),虽然达不到深度学习,但效果很好。

为了方便大家观看,代码放在了github :https://github.com/xiaobing chan/hog _ SVM上

可能发生的错误ValueError: Expected 2D array,got1darrayinstead : array=[ ].reshapeyourdataeitherusingarray.reshape (-) 1 ) ifyourdatahasasinglefeatureorarray.reshape (1,-1) if it contains a单一样本。

如果发生上述错误,图像读取不成功,请检查图像宽度是否设置为与size相同,以及路径是否正确。 如果要在更改后运行程序,请选择“重新获取特征”。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。