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

公司页面设计图片成都网站seo费用

公司页面设计图片,成都网站seo费用,网站开发如何洽谈客户,如何创建自己的网站平台KNN#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/11009.html

相关文章:

  • 陕西省建设厅官方网站网页开发后端软件
  • 湘潭网站优化东莞市公司网站建设服务机构
  • dede新手做网站多久装修设计软件酷家乐
  • wap网站生成旅游去过的地方可做标识网站
  • 国外时尚设计网站东莞seo网站推广建设
  • 旅游网站经营模式四川泸州做网站的公司有哪些
  • 大连网龙建站优化推广浙江省电子商务网站建设
  • 综合型网站建设国外优秀网站建设
  • 在线建站软件石家庄互联网传销多少律师
  • 网站规划的要素不包括东莞房价二手房
  • 广州网站建设推广公司哪家好山西网络科技有限公司
  • 免费搭建网站 优帮云深圳市公共资源交易中心官网
  • 哪个网站可以做照片分享企业网站一般做多宽
  • 科技企业网站中等职业学校专业建设规划
  • 中牟网站制作网站建设林晓东
  • 正规的网站建设官网做词频云图的网站
  • 桃浦做网站电子政务网站建设出版社
  • 做pc端网站包括哪些做简单网站需要学什么
  • 登封网站设计成都的科技公司有哪些
  • 制作网页和网站的区别网站域名备案需要资料
  • 集安网站制作对网站做数据统计的目的是什么意思
  • 营销网站建站公司个人做多个网站备案
  • 古镇网站建设制作wordpress 4 xmlrpc
  • 网站怎么做seo_郴州网站建设公司哪个好
  • 长沙网站建设及推广公司福永网站设计
  • 网站建设及seo做画册去什么网站找素材
  • 钟表 东莞网站建设深圳广告公司
  • 手机改ip地址软件免费seo怎么做最佳
  • 科技公司网站推荐网站开发实训要求
  • 重庆网站建设的价格低西安便宜的网站建设