博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌
> 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与我联系了。🍅

点击查看作者主页,了解更多项目!

🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助同学们顺利毕业 。🍅

1、毕业设计:2025年计算机专业毕业设计选题汇总(建议收藏)✅

2、大数据毕业设计:2025年选题大全 深度学习 python语言 JAVA语言 hadoop和spark(建议收藏)✅

1、项目介绍

技术栈:
python语言、django框架、神经网络、CNN卷积神经网络算法、后台管理

功能:图片上传识别、结果弹窗提示、检测记录落库、后台可视化查询、用户权限分级。
意义:把CNN实验脚本封装成“零代码”Web产品,降低果园、超市、课堂场景落地门槛,实现“上传-识别-记录-管理”闭环;同时以水果为切入点,为农业精细化运营、零售智能化结算提供可复制的AI落地方案,助力降本增效与数字化升级。

2、项目界面

(1)首页
在这里插入图片描述

(2)上传图片检测识别
在这里插入图片描述

(3)上传图片检测识别
在这里插入图片描述

(4)后台管理
在这里插入图片描述

(5)登录
在这里插入图片描述

3、项目说明

1、关键词:
Python语言、TensorFlow、卷积神经网络CNN算法、PyQt5界面、Django框架、深度学习
包含:训练预测代码、数据集、PyQt5界面+Django框架网页界面

2、训练预测文件夹中有训练代码以及数据集

3、carnum_check是Django网页版 qt_check是QT版

4、版本说明:
TensorFlow用最新版2.11.0 、 django使用最新版4.1.7、pyqt5使用最新版

5、模型:25轮迭代1万多张图片

水果识别系统通过机器学习库TensorFlow构建CNN模型,对数据集进行训练集与测试集划分,经25轮迭代得到稳定权重后封装成推理接口;并开发Django WEB界面,实现用户上传水果图片即弹窗返回名称、产地等信息,同时将原始图、预测结果、时间戳写入数据库,管理员可在后台动态查看与导出记录。系统环境配置、运行流程、模块关系均给出详细文档,可快速复刻于课堂演示、果园分级、超市自助秤等场景,为农业自动化与零售数字化提供低成本、一站式的AI解决方案。

4、核心代码

from tensorflow.keras import layers, models, Input
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dense, Flatten, Dropout,BatchNormalization,Activation

# 加载预训练模型
base_model = keras.applications.ResNet50(weights='imagenet', include_top=False, input_shape=(img_width,img_height,3))

for layer in base_model.layers:
    layer.trainable = True
    
# Add layers at the end
X = base_model.output
X = Flatten()(X)

X = Dense(512, kernel_initializer='he_uniform')(X)
#X = Dropout(0.5)(X)
X = BatchNormalization()(X)
X = Activation('relu')(X)

X = Dense(16, kernel_initializer='he_uniform')(X)
#X = Dropout(0.5)(X)
X = BatchNormalization()(X)
X = Activation('relu')(X)

output = Dense(len(class_names), activation='softmax')(X)

model = Model(inputs=base_model.input, outputs=output)

import tensorflow as tf
 

model = tf.keras.models.load_model('model.h5')
import numpy as np

class_names =  ['圣女果', '梨', '芒果', '苹果', '香蕉']
def load_and_preprocess_image(path):
    image = tf.io.read_file(path)
    image = tf.image.decode_jpeg(image, channels=3)
    image = tf.image.resize(image, [224, 224])
    image = tf.cast(image, tf.float32)
    image = image/255.0  # normalize to [0,1] range
    return image

test_img = './dataset/梨/tim9.jpeg'
test_tensor = load_and_preprocess_image(test_img)
test_tensor = tf.expand_dims(test_tensor, axis=0)
pred = model.predict(test_tensor)
pred_id = int(np.argmax(pred))
pred_name = class_names[pred_id]
print("预测结果:{}".format(pred_name))
print("预测ID:{}".format(pred_id))

5、源码获取方式

🍅由于篇幅限制,获取完整文章或源码、代做项目的,查看我的【用户名】、【专栏名称】、【顶部选题链接】就可以找到我啦🍅

感兴趣的可以先收藏起来,点赞、关注不迷路,下方查看👇🏻获取联系方式👇🏻

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐