python实现LBP方法提取图像纹理特征实现分类的步骤-创新互联
题目描述
10年积累的成都网站制作、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有册亨免费网站建设让你可以放心的选择与我们合作。这篇博文是数字图像处理的大作业.
题目描述:给定40张不同风格的纹理图片,大小为512*512,要求将每张图片分为大小相同的9块,利用其中的5块作为训练集,剩余的4块作为测试集,构建适当的模型实现图片的分类.
图片如下图所示:
分析:由于数据集太小,所以神经网络模型并不适合此类的图像处理.就需要寻找方法提取图像的纹理信息.本文采用LBP的方法提取图像的纹理信息,然后转化成直方图作为图像的特征,然后使用多分类的方法进行分类.
环境
python2.7,jupyter notebook,anaconda
数据集的地址
实现
读取数据
Numpy包数组操作API格式化数据
def loadPicture(): train_index = 0; test_index = 0; train_data = np.zeros( (200,171,171) ); test_data = np.zeros( (160,171,171) ); 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( (513,513) ); 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; else: test_data[test_index,:,:] = data[171*row:171*(row+1),171*col:171*(col+1)]; test_label[test_index] = i; test_index+=1; index+=1; return train_data,test_data,train_label,test_label;
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:python实现LBP方法提取图像纹理特征实现分类的步骤-创新互联
文章路径:http://myzitong.com/article/edddi.html