简化的图片匹配(利用颜色比例)
来源:互联网 发布:js实现加载等待效果 编辑:程序博客网 时间:2024/05/16 10:06
void Comp_Picture(float *&color,pmyColor &pcolor, pvariance &vance, int Method)
{
while(pcolor)
{
pvariance ppvariance = new variance;
memset(ppvariance,0,sizeof(variance));
//保存图片路径
strcpy(ppvariance->picpath,pcolor->picpath);
if(Method == 1)
{
//求均方差
float fsum = 0, temp = 0;
for(int i = 0; i < 9; i++)
{
temp = (color[i]) - (pcolor->colors[i]);
//printf("差=%f\t",temp);
fsum += temp * temp;
//printf("差的平方=%f\n",fsum);
}
ppvariance->van = fsum / 9;
//printf("均方差=%f\n",ppvariance->van);
}
if(Method == 2)
{
//直方图相交
for(int i = 0; i < 9; i++)
{
ppvariance->van += min(color[i],pcolor->colors[i]);
}
}
if(Method == 3)
{
//直方图卡方
for(int i = 0; i < 9; i++)
{
float d_ch = ( (color[i] - pcolor->colors[i])* (color[i] - pcolor->colors[i]) ) / (color[i] + pcolor->colors[i]);
ppvariance->van += d_ch;
}
}
if(pVarianceHead == NULL)
{
pVarianceHead = ppvariance;
pVarianceEnd = ppvariance;
}
else
{
if(ppvariance->van > pVarianceEnd->van)
{
pVarianceEnd->pNext = ppvariance;
pVarianceEnd = ppvariance;
}
else
{
if(ppvariance->van < pVarianceHead->van)
{
pvariance ptem = pVarianceHead;
pVarianceHead = ppvariance;
pVarianceHead->pNext = ptem;
}
else
{
pvariance ppp = pVarianceHead->pNext;
pvariance pcur = pVarianceHead;
while(ppp)
{
if(ppvariance->van < ppp->van)
{
ppvariance->pNext = ppp;
pcur->pNext = ppvariance;
break;
}
pcur = ppp;
ppp = ppp->pNext;
}
}
}
}
pcolor = pcolor->pNext;
}
vance = pVarianceHead;
}
{
while(pcolor)
{
pvariance ppvariance = new variance;
memset(ppvariance,0,sizeof(variance));
//保存图片路径
strcpy(ppvariance->picpath,pcolor->picpath);
if(Method == 1)
{
//求均方差
float fsum = 0, temp = 0;
for(int i = 0; i < 9; i++)
{
temp = (color[i]) - (pcolor->colors[i]);
//printf("差=%f\t",temp);
fsum += temp * temp;
//printf("差的平方=%f\n",fsum);
}
ppvariance->van = fsum / 9;
//printf("均方差=%f\n",ppvariance->van);
}
if(Method == 2)
{
//直方图相交
for(int i = 0; i < 9; i++)
{
ppvariance->van += min(color[i],pcolor->colors[i]);
}
}
if(Method == 3)
{
//直方图卡方
for(int i = 0; i < 9; i++)
{
float d_ch = ( (color[i] - pcolor->colors[i])* (color[i] - pcolor->colors[i]) ) / (color[i] + pcolor->colors[i]);
ppvariance->van += d_ch;
}
}
if(pVarianceHead == NULL)
{
pVarianceHead = ppvariance;
pVarianceEnd = ppvariance;
}
else
{
if(ppvariance->van > pVarianceEnd->van)
{
pVarianceEnd->pNext = ppvariance;
pVarianceEnd = ppvariance;
}
else
{
if(ppvariance->van < pVarianceHead->van)
{
pvariance ptem = pVarianceHead;
pVarianceHead = ppvariance;
pVarianceHead->pNext = ptem;
}
else
{
pvariance ppp = pVarianceHead->pNext;
pvariance pcur = pVarianceHead;
while(ppp)
{
if(ppvariance->van < ppp->van)
{
ppvariance->pNext = ppp;
pcur->pNext = ppvariance;
break;
}
pcur = ppp;
ppp = ppp->pNext;
}
}
}
}
pcolor = pcolor->pNext;
}
vance = pVarianceHead;
}
0 0
- 简化的图片匹配(利用颜色比例)
- 获取某种颜色在图片中所占的比例
- 比例简化
- android 图片宽度填满屏幕宽度,图片高度根据图片的比例自动匹配,这样就不会拉伸图片
- 利用CSS同比例缩小图片技巧
- 简化的HSV颜色提取
- 洛谷 P2118 比例简化
- 洛谷 P2118 比例简化
- [复习]欧几里得 比例简化
- 网站图片剪裁的比例
- 图片的等比例缩放
- ASP控制图片显示的大小(等比例缩放)
- noip2014 比例简化 (最大公约数+分数大小比较)
- 点击某个按钮切换图片、文字描述(按钮颜色跟着改变)(简化代码)
- 使用word中的宏脚本批量修改图片的显示比例及更新交叉引用的颜色
- 修改webview的字体大小比例,背景颜色,以及字体颜色
- java利用QRCode生成不带图片的二维码(颜色为非黑色)
- 利用PHP实现图片等比例放大和缩小
- mybatis显示sql
- 几个职位信息(阿里)
- 最近的近况以及一些打算
- tomcat CATALINA_HOME与CATALINA_BASE的区别
- iOS模糊搜索
- 简化的图片匹配(利用颜色比例)
- [copied]pkg-config 命令的了解和使用
- jdbc链接数据库,获取表名,字段名和数据
- 第十三周 项目五:字符串操作(1.1)
- 避免oo中违反依赖倒置原则
- Android 使用命令dumpsys查看程序的内存情况
- [LeetCode] Remove Duplicates from Sorted List
- Linux中通过setfacl实现目录下创建文件
- 类型初始值设定项引发异常