当前位置: 首页 > news >正文

湘阴县住房建设局网站网站服务费

湘阴县住房建设局网站,网站服务费,网站排名监控工具,做vr效果图的网站目录 项目介绍 图像分类网络构建 处理花生豆图片完成预测 项目介绍 这是一个使用图像掩膜技术和深度学习技术实现的一个花生豆分拣系统 我们有大量的花生豆图片#xff0c;并以及打好了标签#xff0c;可以看一下目录结构和几张具体的图片 同时我们也有几张大的图片…目录 项目介绍 图像分类网络构建 处理花生豆图片完成预测 项目介绍 这是一个使用图像掩膜技术和深度学习技术实现的一个花生豆分拣系统 我们有大量的花生豆图片并以及打好了标签可以看一下目录结构和几张具体的图片 同时我们也有几张大的图片里面有若干花生豆我们要做的任务就是将花生豆框住并且实现分类可以看一下这些图片  图像分类网络构建 这部分的内容和我上一篇博客几乎大同小异就是把最后的分类个数和类别映射换了换掌握了上一个项目这部分相信也会理解的很快这里附上网址并做简单的回顾 kaggle实战图像分类-Intel Image Classification附源码-CSDN博客https://blog.csdn.net/weixin_62428212/article/details/136059443?spm1001.2014.3001.5501 1数据集加载 2构建网络 3定义超参数训练网络 这里小编使用的是resnet18这个网络因为花生豆数据集的训练一不小心就会过拟合用一些更深更强的网络很容易导致过拟合resnet18好像也有点过拟合这里附上训练结果图片 处理花生豆图片完成预测 我们训练好网络后并不能直接将网络用于预测整个花生豆的大图因为里面有很多的花生豆所以我们可以取出并预测那么怎么单独取出来呢这里用到了掩膜用以分割花生豆一些注释写在了代码里 首先导入相应的库和定义一下参数 # -*- coding: GB2312 -*- import os import cv2 import numpy as np import torch from PIL import Image from utils.model import ResNet18 from torchvision import transformspath data/pic image_path os.listdir(path)classify {0: baiban, 1: bandian, 2: famei, 3: faya, 4: hongpi, 5: qipao, 6: youwu, 7: zhengchang}transform transforms.Compose([transforms.Resize((64, 64)),transforms.ToTensor()])net ResNet18(8) net.load_state_dict(torch.load(model_weights/ResNet18.pth))min_size 30 max_size 400 然后我们加载整个大图的文件夹并遍历处理每张图片 for i in image_path:img cv2.imread(os.path.join(path,i))hsv cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # 转HSV色彩空间# 定义背景颜色区间蓝色区间lower_blue np.array([100, 100, 8])upper_blue np.array([255, 255, 255])mask cv2.inRange(hsv, lower_blue, upper_blue) # 创建掩膜在上述颜色范围内背景为白色不在花生豆则为黑色result cv2.bitwise_and(img, img, maskmask) # 根据掩膜提取图像会将花生豆的部分变为黑色然后提取出背景部分result result.astype(np.uint8)_, binary_image cv2.threshold(result, 1, 255, cv2.THRESH_BINARY) # 三通道二值化。背景会全为白色花生豆部分为黑色# 到这里我们就得到了经过掩膜过滤的图片其中白色的为背景黑色的为花生豆我们可以看一下cv2.namedWindow(HSV_Result, cv2.WINDOW_NORMAL)cv2.resizeWindow(HSV_Result, 2840, 1000)cv2.imshow(HSV_Result, binary_image)cv2.waitKey(0)cv2.destroyAllWindows() 我们发现这些花生豆的背景是蓝色的所以我们创建了一个用以区分背景和花生豆的掩膜用来分割二者其分割完后的图片为 通过掩膜处理完后我们可以清晰的观察到图片里的花生豆后面我们就可以在这幅图片上画出轮廓并分割出花生豆部分依次放入网络预测 # 过滤边框 def delet_contours(contours, delete_list):delta 0for i in range(len(delete_list)):del contours[delete_list[i] - delta]delta delta 1return contoursinverted_image cv2.cvtColor(binary_image, cv2.COLOR_BGR2GRAY) # 转灰度图_, binary_image cv2.threshold(inverted_image, 1, 255, cv2.THRESH_BINARY) # 单通道二值化contours, hierarchy cv2.findContours(binary_image, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)contours list(contours)delete_list []for i in range(len(contours)):# 通过框的周长去过滤边框if (cv2.arcLength(contours[i], True) min_size) or (cv2.arcLength(contours[i], True) max_size):delete_list.append(i)contours delet_contours(contours, delete_list)# 遍历每一个框取出每一个单独的花生豆进行预测for i in range(len(contours)):x, y, w, h cv2.boundingRect(contours[i])img_pred img[y:yh, x:xw, :]img_pred Image.fromarray(img_pred) # 将numpy数组转为PIL图像对象img_pred transform(img_pred) # 调整图像尺寸和转tensor格式img_pred torch.unsqueeze(img_pred, dim0) # 升一个维度pred torch.argmax(net(img_pred), dim1) # 拿到概率最大的分类preds classify[int(pred)] # 数字映射为字符串cv2.putText(img, preds, (x, y), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 1, cv2.LINE_AA) # 写类别标签cv2.rectangle(img, (x, y), (x w, y h), (0, 0, 255), 2) # 画矩形框cv2.namedWindow(Result, cv2.WINDOW_NORMAL)cv2.resizeWindow(Result,2840,1000)cv2.imshow(Result, img)cv2.waitKey(0)cv2.destroyAllWindows()展示一下预测结果 小编这里发现这个方法可以预测成功中间大多数的花生豆但是边缘处的花生豆因不会被画出轮廓故不会被放入网络预测大体预测的效果还算可以。 源码及数据集请查看https://github.com/jvyou/Peanut-and-bean-sorting 视频讲解请查看https://www.bilibili.com/video/BV13F4m1g7Wp/?spm_id_from333.999.0.0
http://www.hkea.cn/news/14588041/

相关文章:

  • 广州企业建站摄影网站制作步骤html
  • 大连大连建设工程信息网站建设工程消防网站
  • 优化企业网站排名要多少钱网络运营培训哪里有学校
  • 东莞网站seo公司上海网站开发一对一培训
  • wordpress全站ajax主题嵌入字体的网站
  • centos系统怎么做网站c 做网站怎么发布
  • 网站建设学习步骤八宝山做网站公司
  • 北京 网站设计找时代创信好网站开发人员的岗位职责
  • 国内搜索引擎网站中文网站做google广告好吗
  • 建设部网站官网证书编号智能建站免费
  • 崆峒区城乡建设局网站万网是什么网站
  • 杭州做网站哪里好三明网站seo
  • 网站如何建设成直播间高端网站建设专业公司
  • 杭州做网站的好公司有哪些建设摩托车官网商城踏板
  • 医院网站建设中标有没有做3d衣服模型网站
  • 网站功能项目报价WordPress文章多图分页
  • 做网站需要用到那些软件亚洲室内设计公司排名
  • 建站上市公司在线音乐网站开发摘要
  • 多说与网站账号绑定手机棋牌app软件开发
  • 天河做网站服务wordpress新站注意事项
  • 上海网站建设建议自己的网站怎么做美工
  • 网站建设培训视频龙华做企业网站
  • 网站建设推广服务合同南京网站建设q润洽网络
  • 开不锈钢公司怎么做网站邢台论坛贴吧
  • 怎么创办网站广东做网站的公司
  • 做刷网站流量犯法吗网络广告策划流程有哪些
  • 网站布局建设商标注册 网站建设如何入账
  • 芮城网站开发网页制作与网站建设实战大全光盘
  • 网站帮企业做推广价格怎么算如何弄一个自己的小程序
  • 怎么把qq空间做成企业网站c2c网站内容及功能开始