使用直方图及其部分空间特性的模糊对比
来源:互联网 发布:卖淘宝号的网站 编辑:程序博客网 时间:2024/06/07 23:31
#coding=<coding=utf-8>from PIL import Imagedef calculate(image1,image2):g = image1.histogram()s = image2.histogram()assert len(g) == len(s),"error"data = []for index in range(0,len(g)):if g[index] != s[index]:data.append(1 - abs(g[index] - s[index])/max(g[index],s[index]) )else:data.append(1)return (1.0*sum(data))/(1.0*len(g))def split_imgae(image,part_size):pw,ph = part_sizew,h = image.sizesub_image_list = []assert w % pw == h % ph == 0,"error"for i in range(0,w,pw):for j in range(0,h,ph):sub_image = image.crop((i,j,i+pw,j+ph)).copy()sub_image_list.append(sub_image)return sub_image_listdef classfiy_histogram_with_split(image1,image2,size = (256,256),part_size=(64,64)):image1 = image1.resize(size).convert("RGB")sub_image1 = split_imgae(image1,part_size) #第一幅图像的特征向量image2 = image2.resize(size).convert("RGB")sub_image2 = split_imgae(image2,part_size) #第二幅图像的特征向量sub_data = 0;for im1,im2 in zip(sub_image1,sub_image2):sub_data += calculate(im1, im2)x = size[0]/part_size[0]y = size[1]/part_size[1]pre = round((sub_data/(x*y) ),3)return preif __name__ == "__main__":image1 = Image.open("001.png")image2 = Image.open("010.png")pre = classfiy_histogram_with_split(image1,image2,(256, 256), (64, 64))print("Hello python !!!")print pre
阅读全文
0 0
- 使用直方图及其部分空间特性的模糊对比
- CUDA纹理存储器的特性及其使用
- CUDA纹理存储器的特性及其使用
- CUDA纹理存储器的特性及其使用
- CUDA纹理存储器的特性及其使用
- CUDA纹理存储器的特性及其使用
- 纹理内存器的特性及其使用
- 直方图对比
- 直方图对比
- 使用easyUI的combogrid来实现模糊查询,jsp部分
- OpenCv直方图对比图片的相似性
- OpenCv直方图对比图片的相似性
- OpenCv直方图对比图片的相似性
- 直方图对比,各种方法的范围
- kermit的安装与使用及其与minicom的对比
- OpenCV直方图的使用
- OpenCV直方图的使用
- 使用Matlab绘制图像的rgb颜色空间和Lab颜色空间分量图和分量直方图
- 【编程素质】算法-矩阵连乘问题(枚举法、备忘录法、动态规划)
- 《Android源码设计模式解析与实战》读书笔记(二十)——适配器模式
- Linux网络编程【五】:TCP协议高性能服务器(http)模型之I/O多路转接select
- Spring AOP aspectjweaver.jar包
- 读写锁
- 使用直方图及其部分空间特性的模糊对比
- Git查看、删除、重命名远程分支和tag
- bat文件命令行去除变量的空格
- Kotlin 双冒号 :: 使用
- c语言(1)
- QT中如何在QListWidget中添加自定义的 tiem
- 自定义ExpandableListView分割线
- windows命令合集
- 如何在django下建立多个app