使用的方法非常的方便,准确度高。
它拥有人工智能技术,用户可以随时拿出手机进行识别花卉,识别快速,拍照上传植物图片即可识别出相对应的花名和相关的知识。
我们经常会遇到一些不认识的花,识花程序的开发可以很好的帮助我们来认识身边的花花草草,帮助我们增加更多的知识。
Python+libsvm-2(实例-使用libsvm对鸢尾花进行分类)
取消
首页
编程
手机
软件
硬件
安卓
苹果
手游
教程
平面
服务器
首页 >脚本专栏 >python >python 花卉识别系统
用python搭建一个花卉识别系统
2021-06-19 15:31:19 作者:python研究者
这学期修了一门机器视觉的选修课,课设要是弄一个花卉识别的神经网络,所以我网上找了开源代码进行了修改,最后成功跑起来,结果只有一个准确率(94%)既然都跑了这个神经网络的代码,那么干脆就把这个神经网络真正的使用起来,把这个神经网络弄成一个可视化界面
一.开源神经网络(AlexNet)
1.获取数据集
使用步骤如下:
* (1)在data_set文件夹下创建新文件夹"flower_data"
* (2)点击链接下载花分类数据集download.tensorflow.org/example_im…
* (3)解压数据集到flower_data文件夹下
* (4)执行"split_data.py"脚本自动将数据集划分成训练集train和验证集val
split_data.py
import os
from shutil import copy, rmtree
import random
def mk_file(file_path: str):
if os.path.exists(file_path):
# 如果文件夹存在,则先删除原文件夹在重新创建
rmtree(file_path)
os.makedirs(file_path)
def main():
# 保证随机可复现
random.seed(0)
# 将数据集中10%的数据划分到验证集中
split_rate = 0.1
# 指向你解压后的flower_photos文件夹
cwd = os.getcwd()
data_root = os.path.join(cwd, "flower_data")
origin_flower_path = os.path.join(data_root, "flower_photos")
assert os.path.exists(origin_flower_path)
flower_class = [cla for cla in os.listdir(origin_flower_path)
if os.path.isdir(os.path.join(origin_flower_path, cla))]
# 建立保存训练集的文件夹
train_root = os.path.join(data_root, "train")
mk_file(train_root)
for cla in flower_class:
# 建立每个类别对应的文件夹
mk_file(os.path.join(train_root, cla))
# 建立保存验证集的文件夹
val_root = os.path.join(data_root, "val")
mk_file(val_root)
for cla in flower_class:
# 建立每个类别对应的文件夹
mk_file(os.path.join(val_root, cla))
for cla in flower_class:
cla_path = os.path.join(origin_flower_path, cla)
images = os.listdir(cla_path)
num = len(images)
# 随机采样验证集的索引
eval_index = random.sample(images, k=int(num*split_rate))
for index, image in enumerate(images):
if image in eval_index:
# 将分配至验证集中的文件复制到相应目录
image_path = os.path.join(cla_path, image)
new_path = os.path.join(val_root, cla)
copy(image_path, new_path)
else:
# 将分配至训练集中的文件复制到相应目录
image_path = os.path.join(cla_path, image)
new_path = os.path.join(train_root, cla)
copy(image_path, new_path)
print("r[{}] processing [{}/{}]".format(cla, index+1, num), end="") # processing bar
print()
print("processing done!")
if __name__ == '__main__':
main()
怎样识别花卉名称?
这里使用的是lab课上老师提供的数据集
但是不符合libsvm中要求的数据格式,所以需要将原始数据转换成libsvm中要求的。
复制Excel表格中的数据到一个新的txt文件中
我这里把原来的数据集分成了两个,一个用作train 一个用作test
识别花卉名称的方法如下:
准备材料:联想ThinkPad E15 Win10、图片
1、用百度搜索“百度识图",找到有“官网”的链接,点击一下。
2、打开后,点击“识图一下”。
3、点击“本地上传”,或拖拽图片到本页面。
4、选择所需识别的图片,然后点击”打开“。
5、系统开始自动识图,因为上传、搜索,需要一定的时间,系统提示”正在识别中,请稍后.......”。
6、几秒钟后,识图便成功了,识别的准确率还是挺高的,系统提示“图片可能是文竹”,本身就是文竹。找到相应的图片,便可细细查看图片是否与实物是否一致。
以上就是关于Python花卉识别的优点全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!



















