首页 > 编程语言 >水果识别系统python

水果识别系统python

时间:2023-05-12 18:57:02浏览次数:51  
标签:水果 name python image 识别系统 request upload url file

介绍

水果识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对5种垃圾数据集进行训练,最后得到一个识别精度较高的模型。并基于Django框架,开发网页端操作平台,实现用户上传一张图片识别其名称。

效果展示

image
image
image

演示视频和源码

视频+代码:https://www.yuque.com/ziwu/yygu3z/sr43e6q0wormmfpv

相关代码


def upload_img(request):
    # 图片上传
    file = request.FILES.get('file')
    file_name = file.name
    file_name = '{}.{}'.format(int(time.time()), str(file_name).rsplit('.')[-1])
    with open(os.path.join(settings.MEDIA_ROOT, file_name), 'wb') as f:
        for chunk in file.chunks():
            f.write(chunk)
    upload_url = request.build_absolute_uri(settings.MEDIA_URL + file_name)
    ImageCheck.objects.create(file_name=file_name, file_url=upload_url)
    return JsonResponse({'code': 200, 'data': {'url': upload_url}})


def check_img(request):
    # 图片检测
    image_url = request.POST.get('img_url')
    if not image_url:
        return JsonResponse({'code': 400, 'message': '缺少必传的参数'})
    image_name = image_url.rsplit('/')[-1]
    image_path = os.path.join(settings.MEDIA_ROOT, image_name)
    pred_name = check_handle(image_path)

    obj = ImageCheck.objects.filter(file_name=image_name).last()
    obj.check_result = pred_name
    obj.save()
    return JsonResponse({'code': 200, 'data': {'pred_name': pred_name}})

实现步骤

● 首先收集需要识别的种类数据集
● 然后基于TensorFlow搭建ResNet50卷积神经网络算法模型,并通过多轮迭代训练,最终得到一个精度较高的模型,并将其保存为h5格式的本地文件。
● 基于Django开发网页端可视化操作平台,HTML、CSS、BootStrap等技术搭建前端界面。Django作为后端逻辑处理框架。Ajax实现前后端的数据通信。

标签:水果,name,python,image,识别系统,request,upload,url,file
From: https://www.cnblogs.com/shiqianlong/p/17396046.html

相关文章

  • 在python3.7+中优雅的使用dataclass
    [本文出自天外归云的博客园]在Python3.7+中,dataclasses是一个非常优雅的工具,可以轻松地创建简单的类,并自动生成常见的类方法,比如 __init__、__repr__ 等。以下是一些使用dataclasses时需要注意的事项:导入dataclasses模块在使用dataclasses之前,需要先导入datacla......
  • python进阶-虚拟环境
    python两个模块:os:Thismoduleprovidesaportablewayofusingoperatingsystemdependentfunctionality.这个模块提供了一种方便的使用操作系统函数的方法。sys:Thismoduleprovidesaccesstosomevariablesusedormaintainedbytheinterpreterandtofunction......
  • Python 文件大小(Byte)可读性转化(KB、MB、GB、TB)
    Python文件大小可读性转化file_size_exchange.py#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2023/5/1217:52#@Software:PyCharm__author__="JentZhang"KB=1024MB=KB*KBGB=MB*KBTB=GB*KBdefformat_byte_repr(byte_num):&q......
  • Python-单引号、双引号和三引号的作用和区别
    (一)、作用 1.单引号:单引号内部为一串字符(str)。 2.双引号:双引号内部为一串字符,双引号内的字符串可以出现单引号(相当于双引号优先级更高),但不能嵌套双引号。 3.三引号:用于换行输出,且缩进会被打印出来。(三引号还可以用来进行块注释)。(二)、共同点python中变......
  • day02Python的初识
    第二节编程语言与Python介绍【一】引言基于上一节所学,有了计算机硬件,再在硬件之上安装好操作系统,我们就有了一个应用程序的运行平台,我们接下来的任务就是学习如何使用某款编程语言来开发应用程序。【二】编程语言分类【1】机器语言(1.1)什么是机器语言机器语言是站在计算......
  • python内置数据类型
    1主要数据类型整数int浮点数float复数complex字符串string列表List元组tuple字典Dictionary集合setrange布尔booleanNonebytefrozensetboolean官网介绍,boolean实际是int的子类型,这个今天才知道,以前觉得他俩就是完全不同的两个东西如上,可看到True就相......
  • python运算符
    python运算符算术运算符运算符描述+加-减*乘/除%返回除数的余数**幂次//返回商的整数部分注意:/计算结果是浮点数,即使两个数都是整数,结果也是浮点数//与%都是向下取整如果想同时得到商和余数,可以用divmod()这个方法。该......
  • Python 使用迭代查找一个list中最小和最大值,并返回一个tuple
    deffindMinAndMax(L):iflen(L)==0:return(None,None)else:mi=L[0]ma=L[0]forlinL:ifl<mi:mi=lelifl>ma:ma=lreturn(mi,m......
  • python基础介绍
    一、python中文编码Python中默认的编码格式是ASCII格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。解决方法为只要在文件开头加入 #-*-coding:UTF-8-*- 或者 #coding=utf-8 就行了。#!/usr/bin/python#-*-coding:UTF-8-*-print("你好......
  • mac下使用Python创建虚拟环境
    1、本地安装Python版本2、本地安装vscode软件3、创建虚拟环境  python3-mvenv.venv python3-mvenvenv 参数说明:-mm是module的缩写,即-m后面跟的是模块(module)名,意思是把模块当成脚本来运行。venv为创建虚拟环境命令脚本env为虚拟环境的路径 4、激活虚拟......