Ciao,
possibile che il tuo compilatore generi un operator==() di default ? non saprei a cosa altro pensare !
Prova a definire operator==() come membro della classe, quindi con un solo argomento dato che l' altro e' implicito :

codice:
#ifndef strutture_h
#define strutture_h
#include "cv.h"
using namespace std;
struct statistica{
CvMat* media;
CvMat* deviazione;
};
struct coordinate{
int x1;
int x2;
int y1;
int y2;
bool used;
int dim;
bool operator==(const coordinate& y) {
return ((x1 == y.x1) && (x2 == y.x2) && (y1==y.y1) && (y2==y.y2)); }; 
};
#endif
PS: ovviamente ora l' implementazione sta nel file .h, ma essendo implicitamente inline non reca problemi di doppie definizioni ( e non serve nemmeno l' implementazione nel file .cpp )

spero sia di aiuto!