图像相似度算法的C#实现及测评
2013-04-09 11:12
274 查看
日逛博客的时候偶然发现了一个有关图片相似度的Python算法实现。想着很有意思便搬到C#上来了,给大家看看。
闲言碎语
才疏学浅,只把计算图像相似度的一个基本算法的基本实现方式给罗列了出来,以至于在最后自己测评的时候也大发感慨,这个算法有点不靠谱。不管怎么样,这个算法有时候还是有用的,所以还是列出来跟大家伙一起分享分享~~
PS:图像处理这一块博大精深,个人偶尔发现了点东西拿来分享。说的不好的地方,写得太糟的地方,诸位准备扔砖头还望淡定,淡定~~
基本知识介绍
颜色直方图
颜色直方图是在许多图像检索系统中被广泛采用的颜色特征,它所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体。颜色直方图特别适用于描述那些难以进行自动分割的图像。
灰度直方图
灰度直方图是灰度级的函数,它表示图像中具有每种灰度级的像素的个数,反映图像中每种灰度出现的频率。灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频率,是图像的最基本的统计特征。
本文中即是使用灰度直方图来计算图片相似度,关于算法那一块也不赘言了,毕竟图像学图形学,直方图我是门儿都不懂,我也不准备打肿脸充胖子,只想实现一个最基本的算法,然后从最直观的角度看看这个算法的有效性,仅此而已。
算法实现
诸位看官休怪笔者囫囵吞枣,浅尝辄止的学习态度。额毕竟是因兴趣而来,于此方面并无半点基础(当然,除了知道RGB是啥玩意儿——这还幸亏当年计算机图形学的老师是个Super美女,因此多上了几节课的缘故),更谈不上半点造诣,看官莫怪莫怪,且忍住怒气,是走是留,小生不敢有半点阻拦~~
大致步骤如下:
1, 将图像转换成相同大小,以有利于计算出相像的直方图来
2, 计算转化后的灰度直方图
3, 利用XX公式,得到直方图相似度的定量度量
4, 输出这些不知道有用没用的相似度结果数据
代码实现
步骤1,将图像转化成相同大小,我们暂且转化成256 X 256吧。
双击代码全选
这部分代码很好懂,imageFile为原始图片的完整路径,newImageFile为强转大小后的256 X 256图片的路径,为了“赛”后可以看到我们转化出来的图片长啥样,所以我就把它保存到了本地了,以至于有了上面略显丑陋的代码。
步骤2,计算图像的直方图
双击代码全选
闲言碎语
才疏学浅,只把计算图像相似度的一个基本算法的基本实现方式给罗列了出来,以至于在最后自己测评的时候也大发感慨,这个算法有点不靠谱。不管怎么样,这个算法有时候还是有用的,所以还是列出来跟大家伙一起分享分享~~
PS:图像处理这一块博大精深,个人偶尔发现了点东西拿来分享。说的不好的地方,写得太糟的地方,诸位准备扔砖头还望淡定,淡定~~
基本知识介绍
颜色直方图
颜色直方图是在许多图像检索系统中被广泛采用的颜色特征,它所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体。颜色直方图特别适用于描述那些难以进行自动分割的图像。
灰度直方图
灰度直方图是灰度级的函数,它表示图像中具有每种灰度级的像素的个数,反映图像中每种灰度出现的频率。灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频率,是图像的最基本的统计特征。
本文中即是使用灰度直方图来计算图片相似度,关于算法那一块也不赘言了,毕竟图像学图形学,直方图我是门儿都不懂,我也不准备打肿脸充胖子,只想实现一个最基本的算法,然后从最直观的角度看看这个算法的有效性,仅此而已。
算法实现
诸位看官休怪笔者囫囵吞枣,浅尝辄止的学习态度。额毕竟是因兴趣而来,于此方面并无半点基础(当然,除了知道RGB是啥玩意儿——这还幸亏当年计算机图形学的老师是个Super美女,因此多上了几节课的缘故),更谈不上半点造诣,看官莫怪莫怪,且忍住怒气,是走是留,小生不敢有半点阻拦~~
大致步骤如下:
1, 将图像转换成相同大小,以有利于计算出相像的直方图来
2, 计算转化后的灰度直方图
3, 利用XX公式,得到直方图相似度的定量度量
4, 输出这些不知道有用没用的相似度结果数据
代码实现
步骤1,将图像转化成相同大小,我们暂且转化成256 X 256吧。
步骤2,计算图像的直方图
相关文章推荐
- 图像相似度算法的C#实现及测评
- 图像相似度算法的C#实现及测评
- 图像相似度算法的C#实现及测评
- 图像相似度算法的C#实现及测评
- 解析C#彩色图像灰度化算法的实现代码详解
- 对图像边缘进行随机均匀采样的C#算法实现
- 用C#实现字符串相似度算法(编辑距离算法 Levenshtein Distance)
- 对图像边缘进行随机均匀采样的C#算法实现
- 自己琢磨的 图像相似度算法 JAVA版实现
- 解析C#彩色图像灰度化算法的实现代码详解
- java:均值哈希实现图像内容相似度比较(图像视频相似度算法)
- C#实现灰度图像和彩色图像的4种镜像
- 图像处理中聚类分析算法---ISODATA算法实现
- 十三种基于直方图的图像全局二值化算法原理、实现、代码及效果(转)
- 向量空间模型文档相似度计算实现(C#)
- [转]字符串相似度算法(编辑距离算法 Levenshtein Distance)[附c#,asp源码]
- 二值图像连通域标记快速算法实现
- Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结
- C#和SQL实现的字符串相似度计算代码分享
- 字符串相似度计算的方法,使用SQL以及C#实现,本文非原创摘自网络(.NET SQL技术交流群入群206656202需注明博客园)