import numpy as np
import os
import re
import sklearn
from sklearn.svm import SVC
path_of_TRAINDATA = '/home/wufan/Desktop/缺陷图像集/VectorsForTrain/'
path_of_TESTDATA = '/home/wufan/Desktop/缺陷图像集/VectorsForTest/'
#四个字段的正则表达式
bar_defect = r'\u6761\u5f62\u7f3a\u9677'
unpenetrated = r'\u672a\u710a\u900f'
unfused = r'\u672a\u7194\u5408'
circular_defect = r'\u5706\u5f62\u7f3a\u9677'
vectors = [] #预定存储图像转换的向量
labels = [] #预定存储图像的标签
x_test = [] #测试集向量
y_test = [] #测试集标签
for root, dirs, files in os.walk(path_of_TRAINDATA):
for file in files:
f = open(path_of_TRAINDATA + file, 'r') #打开txt文件,只读
lines = f.readlines()
for line in lines:
vec = line.split() #将txt文件里按空格分开的数字存入数组vec
a = []
for ele in vec:
ele = float(ele) #将数组vec里的string型数字改为float
a.append(ele)
vectors.append(a)
#用正则表达式匹配来输入标签数组
if re.search(re.compile(bar_defect), file): #条形缺陷记作0
labels.append(0)
elif re.search(re.compile(unpenetrated), file): #未焊透记作1
labels.append(1)
elif re.search(re.compile(unfused), file): #未熔合记作2
labels.append(2)
elif re.search(re.compile(circular_defect), file): #圆形缺陷记作3
labels.append(3)
else:
labels.append(9)
filename = [] #将测试数据的文件名记录,与分类结果一起打印输出
#将测试数据存入数组x_test
for root, dirs, files in os.walk(path_of_TESTDATA):
for file in files:
f = open(path_of_TESTDATA + file, 'r')
lines = f.readlines()
for line in lines:
vec = line.split()
a = []
for ele in vec:
ele = float(ele)
a.append(ele)
filename.append(file)
x_test.append(a)
#将实际的标签存入数组y_test
for file in filename:
if re.search(re.compile(bar_defect), file): #条形缺陷记作0
y_test.append(0)
elif re.search(re.compile(unpenetrated), file): #未焊透记作1
y_test.append(1)
elif re.search(re.compile(unfused), file): #未熔合记作2
y_test.append(2)
elif re.search(re.compile(circular_defect), file): #圆形缺陷记作3
y_test.append(3)
else: #随便写的
y_test.append(9)
#支持向量机
Vectors = np.array(vectors) #训练集向量,要转换成numpy.array型向量
Labels = np.array(labels) #训练集标签
X_Test = np.array(x_test) #测试集向量
Y_Test = np.array(y_test) #测试集标签
clf = SVC(gamma = 'auto') #分类面
clf.fit(Vectors, Labels) #训练分类面,具体参数参考https://www.cnblogs.com/luyaoblog/p/6775342.html
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf', max_iter=-1, probability=False, random_state=None, shrinking=True, tol=0.001, verbose=False)
print(filename) #打印测试集文件名
print(clf.predict(X_Test)) #打印预测结果
print('训练集精度:' + str(100 * clf.score(Vectors, Labels)) + '%') #打印精度
print('测试集精度:' + str(100 * clf.score(X_Test, Y_Test)) + '%')
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于SVM实现焊接缺陷图片识别分类Python源码(含数据集,需自己训练模型).zip基于SVM实现焊接缺陷图片识别分类Python源码(含数据集,需自己训练模型).zip基于SVM实现焊接缺陷图片识别分类Python源码(含数据集,需自己训练模型).zip基于SVM实现焊接缺陷图片识别分类Python源码(含数据集,需自己训练模型).zip基于SVM实现焊接缺陷图片识别分类Python源码(含数据集,需自己训练模型).zip基于SVM实现焊接缺陷图片识别分类Python源码(含数据集,需自己训练模型).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能
资源推荐
资源详情
资源评论
收起资源包目录
基于SVM实现焊接缺陷图片识别分类Python源码(含数据集,需自己训练模型).zip (144个子文件)
未焊透-11.png 9KB
未焊透-28.png 8KB
未焊透-10.png 8KB
未焊透-6.png 8KB
未焊透-27.png 8KB
未焊透-26.png 8KB
未熔合-2.png 8KB
未焊透-5.png 8KB
未焊透-7.png 8KB
未熔合-11.png 8KB
条形缺陷-26.png 8KB
未焊透-30.png 8KB
未焊透-9.png 8KB
未熔合-19.png 8KB
条形缺陷-25.png 8KB
未熔合-10.png 8KB
未熔合-9.png 8KB
未熔合-1.png 8KB
未熔合-8.png 8KB
圆形缺陷-1.png 7KB
未熔合-6.png 7KB
条形缺陷-1.png 7KB
未熔合-24.png 7KB
未熔合-7.png 7KB
未熔合-20.png 7KB
未焊透-8.png 7KB
圆形缺陷-48.png 7KB
未焊透-2.png 7KB
未熔合-21.png 7KB
条形缺陷-17.png 7KB
未焊透-3.png 7KB
未熔合-27.png 7KB
未熔合-18.png 7KB
未熔合-23.png 7KB
未焊透-20.png 7KB
未熔合-25.png 7KB
条形缺陷-2.png 7KB
未熔合-26.png 7KB
未熔合-13.png 7KB
未焊透-22.png 7KB
未焊透-29.png 7KB
未焊透-21.png 7KB
未熔合-5.png 7KB
未焊透-19.png 7KB
条形缺陷-19.png 7KB
未焊透-1.png 7KB
条形缺陷-27.png 7KB
未熔合-14.png 7KB
未焊透-18.png 7KB
未熔合-30.png 7KB
条形缺陷-3.png 7KB
条形缺陷-8.png 7KB
未焊透-4.png 7KB
未熔合-15.png 7KB
圆形缺陷-43.png 7KB
未熔合-28.png 7KB
未熔合-22.png 7KB
圆形缺陷-14.png 7KB
未熔合-4.png 7KB
条形缺陷-14.png 7KB
未熔合-29.png 7KB
未熔合-17.png 7KB
圆形缺陷-46.png 6KB
条形缺陷-10.png 6KB
未熔合-3.png 6KB
圆形缺陷-15.png 6KB
未焊透-15.png 6KB
条形缺陷-4.png 6KB
条形缺陷-15.png 6KB
未焊透-14.png 6KB
未熔合-16.png 6KB
圆形缺陷-44.png 6KB
未焊透-12.png 6KB
未焊透-13.png 6KB
圆形缺陷-22.png 6KB
条形缺陷-30.png 6KB
圆形缺陷-5.png 6KB
圆形缺陷-49.png 6KB
条形缺陷-29.png 6KB
圆形缺陷-16.png 6KB
圆形缺陷-24.png 6KB
圆形缺陷-11.png 6KB
条形缺陷-20.png 6KB
圆形缺陷-23.png 6KB
未焊透-16.png 6KB
条形缺陷-5.png 6KB
条形缺陷-12.png 6KB
圆形缺陷-37.png 6KB
条形缺陷-16.png 6KB
条形缺陷-7.png 6KB
圆形缺陷-50.png 6KB
条形缺陷-22.png 6KB
未焊透-17.png 6KB
圆形缺陷-4.png 6KB
条形缺陷-23.png 6KB
条形缺陷-9.png 6KB
圆形缺陷-12.png 6KB
条形缺陷-28.png 6KB
未焊透-24.png 6KB
条形缺陷-13.png 6KB
共 144 条
- 1
- 2
资源评论
- riven_st2023-12-12这个资源对我启发很大,受益匪浅,学到了很多,谢谢分享~Make程序设计2024-03-06不客气,感谢您的支持和认可~~
Make程序设计
- 粉丝: 5723
- 资源: 3570
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功