【发布时间】:2014-03-03 16:37:34
【问题描述】:
我已经搜索了好几天,但我似乎不知道从哪里开始。我正在尝试通过颜色将基本图像与其他 10 个图像进行比较,并且我必须在不使用 opencv 函数的情况下使用欧几里得或直方图匹配。我只尝试过欧几里得距离。我想要做的是获取 image1 和 image2 中每个像素的距离。我显示了距离,我得到了非常高的值。我的代码中可能有什么问题?请帮忙。 :)
for(p=0;p<height;p++) // row
{
for(p2=0;p2<inputHeight;p2++) // row
{
for(u2=0;u2<inputWidth;u2++) // col
{
r2 = inputData[p2*inputStep+u2*inputChannels+2];
g2 = inputData[p2*inputStep+u2*inputChannels+1];
b2 = inputData[p2*inputStep+u2*inputChannels+0];
}
}
for(p=0;p<height;p++) // row
{
for(u=0;u<width;u++) // col
{
r = data[p*step+u*channels+2];
g = data[p*step+u*channels+1];
b = data[p*step+u*channels+0];
}
}
euclidean=(euclidean+sqrt(pow(b2-b,2) + pow(g2-g, 2) + pow(r2-r,2)));
}
【问题讨论】: