资源简介
题目是将图片库中的纹理图片裁剪成九份,其中五份做训练集,四份做测试集,先提取图片LBP特征 ,最后用svm支持向量机进行学习,在预测测试集里的图片是哪一类纹理。
正常情况下是需要调参的,即调整SVM的参数,但图省事只整了个循环,正常应该手动调参的。
代码片段和文件信息
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
import numpy as np
from sklearn.multiclass import OneVsRestClassifier
from sklearn.svm import SVC
from skimage import feature as skft
from sklearn.metrics import classification_report
def loadPicture():
train_index = 0
test_index = 0
train_data = np.zeros( (200171171) )
test_data = np.zeros( (160171171) )
train_label = np.zeros( (200) )
test_label = np.zeros( (160) )
for i in np.arange(40):
image = mpimg.imread(‘picture/‘+str(i)+‘.tiff‘)
data = np.zeros( (513513) )
data[0:image.shape[0]0:image.shape[1]] = image
#切割后的图像位于数据的位置
index = 0
#将图片分割成九块
for row in np.arange(3):
for col in np.arange(3):
if index<5:
train_data[train_index::] = data[171*row:171*(row+1)171*col:171*(col+1)]
train_label[train_index] = i
train_index+=1
#mpimg.imread(‘picture/‘+str(i)+‘.tiff‘)
arr=‘picture_train/‘+str(i*9+index)+‘.tiff‘
mpimg.imsave(fname=arrarr=data[171*row:171*(row+1)171*col:171*(col+1)])
else:
test_data[test_index::] = data[171*row:171*(row+1)171*col:171*(col+1)]
test_label[test_index] = i
test_index+=1
arr=‘picture_test/‘+str(i*9+index)+‘.tiff‘
mpimg.imsave(fname=arrarr=data[171*row:171*(row+1)171*col:171*(col+1)])
index+=1
return train_datatest_datatrain_labeltest_label
radius = 1
n_point = radius * 8
def texture_detect():
train_hist = np.zeros( (200256) )
test_hist = np.zeros( (160256) )
for i in np.arange(200):
#使用LBP方法提取图像的纹理特征.
lbp=skft.local_binary_pattern(train_data[i]n_pointradius‘default‘)
#统计图像的直方图
max_bins = int(lbp.max() + 1)
#hist size:256
train_hist[i] _ = np.histogram(lbp normed=True bins=max_bins range=(0 max_bins))
for i in np.arange(160):
lbp = skft.local_binary_pattern(test_data[i]n_pointradius‘default‘)
#统计图像的直方图
max_bins = int(lbp.max() + 1)
#hist size:256
test_hist[i] _ = np.histogram(lbp normed=True bins=max_bins range=(0 max_bins))
return train_histtest_hist
train_datatest_datatrain_labeltest_label= loadPicture()
train_histtest_hist = texture_detect()
result=[]
maxid=0
max=0
id=0
kenellist=[‘linear‘ ‘poly‘ ‘rbf‘ ‘sigmoid‘]
for kenel in kenellist :
for c in range(12001100):
gama=0.1
while(gama<=1):
clf = SVC(kernel=kenel C=c gamma=gama)
clf.fit(train_histtrain_label)
linshi=clf.score(test_histtest_label)
result.append([kenelcgamalinshi])
print(idresult[id])
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-06-27 18:33 test\
目录 0 2019-06-27 18:33 test\picture\
文件 264554 2005-12-07 20:48 test\picture\0.tiff
文件 264126 2005-12-07 20:39 test\picture\1.tiff
文件 263466 2005-12-07 20:42 test\picture\10.tiff
文件 264724 2005-12-07 20:42 test\picture\11.tiff
文件 262548 2005-12-07 20:42 test\picture\12.tiff
文件 264694 2005-12-07 20:43 test\picture\13.tiff
文件 262128 2005-12-07 20:43 test\picture\14.tiff
文件 264724 2005-12-07 20:43 test\picture\15.tiff
文件 264676 2005-12-07 20:43 test\picture\16.tiff
文件 264666 2005-12-07 20:43 test\picture\17.tiff
文件 264654 2005-12-07 20:44 test\picture\18.tiff
文件 264714 2005-12-07 20:44 test\picture\19.tiff
文件 264506 2005-12-07 20:39 test\picture\2.tiff
文件 264646 2005-12-07 20:44 test\picture\20.tiff
文件 262166 2005-12-07 20:44 test\picture\21.tiff
文件 261812 2005-12-07 20:44 test\picture\22.tiff
文件 264136 2005-12-07 20:45 test\picture\23.tiff
文件 264694 2005-12-07 20:45 test\picture\24.tiff
文件 264554 2005-12-07 20:45 test\picture\25.tiff
文件 264514 2005-12-07 20:45 test\picture\26.tiff
文件 264154 2005-12-07 20:45 test\picture\27.tiff
文件 264674 2005-12-07 20:46 test\picture\28.tiff
文件 264554 2005-12-07 20:46 test\picture\29.tiff
文件 264742 2005-12-07 20:40 test\picture\3.tiff
文件 264734 2005-12-07 20:46 test\picture\30.tiff
文件 264752 2005-12-07 20:46 test\picture\31.tiff
文件 263156 2005-12-07 20:46 test\picture\32.tiff
文件 264730 2005-12-07 20:47 test\picture\33.tiff
文件 263698 2005-12-07 20:47 test\picture\34.tiff
............此处省略12个文件信息
相关资源
- MTCNN源码python版
- 基于python和tkinter实现的随机点名程序
- 量化交易之路之python-源代码.rar
- mysql-connector-python-2.1.5-py2.7-win32
- 大四大数据课设课程设计
- 使用libsvm数据分类
- Using Asyncio in Python 3
- The New And Improved Flask Mega-Tutorial.pdf 2
- python cookbook(书)中文第三版完整
- 基于python+django留言板文档
- 基于python+django的留言板
- django留言板
- 基于python+django留言板
- OpenCV官方教程中文版--python版本
- [Python语言程序设计][刘卫国][电子课件
- python-igraph 3.6 64位
- K-SVD算法python实现以及PPT自制,PDF原理
- QT5 Python GUI Programming Cookbook - 2018
- Python.Programming.An.Introduction.to.Computer
- python可以这样学
- python实现特征检测算法SIFT、SURF、OR
- python写的基于感知机的中文分词系统
- Maya Python For Games and Film(Adam Mechtley)
- python的curses库, win平台的各种whl包
- Blender Python API
- python知乎评论爬虫源代码
- 飞机大战源码(python+pygame)
- ArcGIS_Python入门指南
- Cython: A Guide For Python Programmers
- python-基础知识思维导图大综合版
评论
共有 条评论