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

广州做网站建设的公司哪家好亚洲高清砖码区2022幼童

广州做网站建设的公司哪家好,亚洲高清砖码区2022幼童,wordpress 批量删除文章,品牌网站建设黑白I狼JKNN#xff08;K-Nearest Neighbors#xff0c;K最近邻#xff09;算法是一种简单而有效的分类算法#xff0c;也可以用于图像识别。它的基本思想是通过计算样本之间的距离#xff0c;将待分类的样本归为其在训练集中最相近的K个样本所属的类别中最常见的类别 1. 准备工作…KNNK-Nearest NeighborsK最近邻算法是一种简单而有效的分类算法也可以用于图像识别。它的基本思想是通过计算样本之间的距离将待分类的样本归为其在训练集中最相近的K个样本所属的类别中最常见的类别 1. 准备工作 2. 图像预处理 3. 数据处理与分割 4. 标签准备 5. 训练与测试KNN模型 6.检验测试结果 7.我们可以输入自己的一些例子再来测试训练的如何。 1. 准备工作 首先我们需要一个图像数据集。 以此图像为例 该图像应当包含一个50x100的网格每个单元格中包含一个手写数字0-9所以总共有5000个数字样本如何将数据样本提取出来呢。 2. 图像预处理 我们将图像加载为灰度图像并进行分割 import numpy as np import cv2img cv2.imread(图片位置)#读取图片 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #图像灰度化cells [np.hsplit(row, 100) for row in np.vsplit(gray, 50)] # 将图像分割成50x100的网格 我们使用np.vsplit将图像按行分割成50个部分然后对每个部分使用np.hsplit按列分割成100个单元格。这样我们得到了一个包含5000个单元格的数组每个单元格中包含一个手写数字的图像。在调试过程中可以看到已经分割成功 我们可以查看是如何保存的 3. 数据处理与分割 接下来我们将图像数据整理成训练和测试数据 x np.array(cells) train x[:, :50] test x[:, 50:100]# 将图像数据展平以适应KNN输入 train_new train.reshape(-1, 400).astype(np.float32) test_new test.reshape(-1, 400).astype(np.float32)这里我们将每个数字图像展平成一个400维的向量20x20的图像。这些展平的向量作为KNN算法的输入特征 4. 标签准备 我们需要准备训练和测试标签以便模型可以学习和评估 k np.arange(10) labels np.repeat(k, 250) train_labels labels[:, np.newaxis] test_labels np.repeat(k, 250)[:, np.newaxis]在这里np.repeat(k, 250)生成了每个数字0-9出现250次的标签数组。每个训练和测试样本都有对应的标签。 5. 训练与测试KNN模型 我们使用OpenCV的KNN算法来训练和测试我们的模型 knn cv2.ml.KNearest_create()#创建训练 knn.train(train_new, cv2.ml.ROW_SAMPLE, train_labels)#进行训练 ret, result, neighbours, dist knn.findNearest(test_new, k5)#设置k值在这段代码中我们创建了一个KNN模型并用训练数据进行训练。之后使用findNearest方法来对测试数据进行预测 6.检验测试结果 print(result2) matches result test_labels correct np.count_nonzero(matches) accuracy correct * 100.0 / result.size print(accuracy)通过对比预测结果与实际标签我们可以计算模型的准确率。准确率表示模型正确分类的测试样本占总测试样本的比例 7.我们可以输入自己的一些例子再来测试训练的如何。 我们输入的图片格式要和训练数据的图片大小相同 img2 cv2.imread(你的图片位置)#读取图片 gray2 cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)#图像灰度化x2 np.array(gray2)#只输入一个数据所以可以直接处理 test2 x2[:,:] test2_new test2.reshape(-1,400).astype(np.float32)ret2, result2, neighbours2, dist2 knn.findNearest(test2_new, k5)#设置k值进行预测 print(result2)#输出结果 全代码 import numpy as np import cv2img cv2.imread(图片位置) gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)img2 cv2.imread(你的图片位置) gray2 cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)cells [np.hsplit(row, 100) for row in np.vsplit(gray, 50)]x np.array(cells) x2 np.array(gray2)train x[:, :50] test x[:, 50:100] test2 x2[:,:]train_new train.reshape(-1, 400).astype(np.float32) test_new test.reshape(-1, 400).astype(np.float32) test2_new test2.reshape(-1,400).astype(np.float32)k np.arange(10) labels np.repeat(k, 250)train_labels labels[:, np.newaxis] test_labels np.repeat(k, 250)[:, np.newaxis]knn cv2.ml.KNearest_create() knn.train(train_new, cv2.ml.ROW_SAMPLE, train_labels) ret, result, neighbours, dist knn.findNearest(test_new, k5) ret2, result2, neighbours2, dist2 knn.findNearest(test2_new, k11)print(result2) matches result test_labels correct np.count_nonzero(matches) accuracy correct * 100.0 / result.size print(accuracy)我们可以设置不同的k值来是预测结果更加精确 总结 通过以上步骤我们使用OpenCV和KNN算法实现了一个简单的手写数字识别系统。尽管这个示例相对简单但它展示了如何从数据预处理、模型训练到性能评估的完整流程。在实际应用中我们可以进一步优化模型尝试更多先进的算法或使用更复杂的数据集以提升性能。
http://www.dnsts.com.cn/news/167848.html

相关文章:

  • 企业邮箱注册申请腾讯免费常州seo
  • 微信网站制作方案淘宝做链接的网站
  • 电子商务网站建设与维护的教学网站写好了怎么做后台管理
  • 什么叫网站开发网站开发技术与功能 需求说明
  • 阿里巴巴做轮播网站怎么做网站移动端
  • 怎样做聊天网站软件企业网站模板
  • 随州建设网站线上营销策略
  • 网站排名第一我想给别人做网站
  • 资源站建站技术合肥百度网站排名优化
  • 西安网站建设是什么网站内做营销活动使用工具
  • 甘肃省住房和建设厅网站首页做网站申请域名的流程
  • 珠海企业免费建站网络服务费要交印花税吗
  • 制作微信的网站wordpress集成erphpdown
  • 网站建设项目培训wordpress 博客分页
  • 企业站seo哪家好平面排版网站
  • 企业网站建设流程介绍wordpress制作婚礼网页
  • 自己创做网站wordpress 主题 强大
  • 北京市保障性住建设投资中心网站首页网站建设接单技巧
  • 做个网站需要什么怎么创建网站与网页
  • 国外时尚设计网站鹤壁做网站哪家好
  • 四川省城乡建设部网站首页弄一个电影网站怎么做
  • 广州英铭网站建设杭州网络推广平台
  • 企业 怎么建交互网站制作网页爱心代码
  • .net给网站做短信验证wordpress主页导航
  • 花生壳做局域网站图书馆理论与建设网站
  • 企业网站建设常见问题wordpress code snippets
  • 网站正在建设中怎么办苏州设计公司北京vi设计公司
  • 做网站包含微信公众号吗线下编程课程收费标准
  • 张家港网站开发制作专利减缓在哪个网站上做
  • 中山企业网站查看网页源代码