python 图像分类
来源:互联网 发布:基价的算法和作用 编辑:程序博客网 时间:2024/05/17 09:38
#!/usr/bin/env python#-*- coding: utf-8 -*-#code:myhaspl@qq.com#10-7.py#余弦距离识别图片类型import numpy as npimport cv2print u'正在处理中'w_fg=20h_fg=15picflag=3def readpic(fn): #返回图片特征码 fnimg = cv2.imread(fn) img=cv2.resize(fnimg,(800,600)) w=img.shape[1] h=img.shape[0] w_interval=w/w_fg h_interval=h/h_fg alltz=[] alltz.append([]) alltz.append([]) alltz.append([]) for now_h in xrange(0,h,h_interval): for now_w in xrange(0,w,w_interval): b = img[now_h:now_h+h_interval,now_w:now_w+w_interval,0] g = img[now_h:now_h+h_interval,now_w:now_w+w_interval,1] r = img[now_h:now_h+h_interval,now_w:now_w+w_interval,2] btz=np.mean(b) gtz=np.mean(g) rtz=np.mean(r) alltz[0].append(btz) alltz[1].append(gtz) alltz[2].append(rtz) return alltzdef get_cossimi(x,y): myx=np.array(x) myy=np.array(y) cos1=np.sum(myx*myy) cos21=np.sqrt(sum(myx*myx)) cos22=np.sqrt(sum(myy*myy)) return cos1/float(cos21*cos22)#x和d样本初始化train_x =[]d=[]#读取图片,提取每类图片的特征for ii in xrange(1,picflag+1): smp_x=[] b_tz=np.array([0,0,0]) g_tz=np.array([0,0,0]) r_tz=np.array([0,0,0]) mytz=np.zeros((3,w_fg*h_fg)) for jj in xrange(1,4): fn='p'+str(ii)+'-'+str(jj)+'.png' tmptz=readpic(fn) mytz+=np.array(tmptz) mytz/=3 train_x.append(mytz[0].tolist()+mytz[1].tolist()+mytz[2].tolist())fn='ptest3.png'testtz=np.array(readpic(fn))simtz=testtz[0].tolist()+testtz[1].tolist()+testtz[2].tolist()maxtz=0nowi=0for i in xrange(0,picflag): nowsim=get_cossimi(train_x[i],simtz) if nowsim>maxtz: maxtz=nowsim nowi=i print u'%s属于第%d类'%(fn,nowi+1)fn='ptest1.png'testtz=np.array(readpic(fn))simtz=testtz[0].tolist()+testtz[1].tolist()+testtz[2].tolist()maxtz=0nowi=0for i in xrange(0,picflag): nowsim=get_cossimi(train_x[i],simtz) if nowsim>maxtz: maxtz=nowsim nowi=i print u'%s属于第%d类'%(fn,nowi+1)fn='ptest2.png'testtz=np.array(readpic(fn))simtz=testtz[0].tolist()+testtz[1].tolist()+testtz[2].tolist()maxtz=0nowi=0for i in xrange(0,picflag): nowsim=get_cossimi(train_x[i],simtz) if nowsim>maxtz: maxtz=nowsim nowi=i print u'%s属于第%d类'%(fn,nowi+1)fn='ptest33.jpg'testtz=np.array(readpic(fn))simtz=testtz[0].tolist()+testtz[1].tolist()+testtz[2].tolist()maxtz=0nowi=0for i in xrange(0,picflag): nowsim=get_cossimi(train_x[i],simtz) if nowsim>maxtz: maxtz=nowsim nowi=i print u'%s属于第%d类'%(fn,nowi+1)fn='ptest21.png'testtz=np.array(readpic(fn))simtz=testtz[0].tolist()+testtz[1].tolist()+testtz[2].tolist()maxtz=0nowi=0for i in xrange(0,picflag): nowsim=get_cossimi(train_x[i],simtz) if nowsim>maxtz: maxtz=nowsim nowi=i print u'%s属于第%d类'%(fn,nowi+1)fn='ptest22.png'testtz=np.array(readpic(fn))simtz=testtz[0].tolist()+testtz[1].tolist()+testtz[2].tolist()maxtz=0nowi=0for i in xrange(0,picflag): nowsim=get_cossimi(train_x[i],simtz) if nowsim>maxtz: maxtz=nowsim nowi=i print u'%s属于第%d类'%(fn,nowi+1)
0 0
- python 图像分类
- python-opencv3 kmeans图像分类
- python-opencv3 kmeans图像分类
- KNN 图像分类python实现
- python计算机视觉-图像内容分类
- Caffe笔记:python图像识别与分类
- 百度AI实现图像分类-python
- Python图像批处理(图像非监督分类)
- 图像分类
- Python图像处理(12):贝叶斯分类器
- Python图像处理(14):神经网络分类器
- Python图像处理(15):SVM分类器
- Python计算机视觉:第八章 图像类容分类
- python实现LBP方法提取图像纹理特征实现分类
- 【用Python学习Caffe】1. 使用Caffe完成图像分类
- 遥感图像分类综述
- 如何给图像分类
- 图像标注/分类相关
- CSU1803: 2016(湖南省第十二届大学生计算机程序设计竞赛A)
- [PlantSimulation]矢量图vector graphic的应用
- dubbo系列(一)——dubbo简介和dubbo+spring+zookeeper配置整合
- ros_control
- 【剑指offer之数字在排序数组中出现的次数】
- python 图像分类
- nodejs里向buffer写入字符串
- Cisco交换机的基本配置命令学习小结
- UNIX环境高级编程习题之第三章第二题
- graphite
- 洛谷日记4
- java几种常见的数据库连接
- 第十 selinux的管理
- css选择器