I have a problem when I try to compilate this prog...I'm trying to process images to generate a color distortion image model ...It's just the beggining of my main program, but if I don't solve this...
my program wont work...plz help me!!
ERRORs:
1)Error:
"167 C:\OCV\DistorçãoCoreBrilho.cpp conversion from `double' to non-scalar type `CvScalar' requested "
""
double normaquadframe,dotquad;
double quada,normaquadref;
double g,colordist;
int i, j;
while(1)
{
CvScalar frameM, refM;//,colordist;//colordistM,colordist,
for(int j=0;j<frame->height;j++)
for(int i=0;i<frame-> width;i++)
{
frameM = cvGet2D(frame,i,j);
refM = cvGet2D(ref,i,j);
normaquadframe=(pow(frameM.val[0],2)+pow(frameM.val[1],2)+pow(frameM.val[2],2));
normaquadref=(pow(refM.val[0],2)+pow(refM.val[1],2)+pow(refM.val[1],2));
dotquad=pow(((frameM.val[0]*refM.val[0])+(frameM.val[1]*refM.val[1])+(frameM.val[2]*refM.val[2])),2);
// normaquadframe*pow(cosf(c/(a*b),2)
quada= (dotquad/normaquadref);
g=(normaquadframe-quada);
colordist=(sqrt(g));
167 cvSet2D(colordistM,i,j,colordist);
}
2)
Error:
"166 C:\OCV\DistorçãoCoreBrilho.cpp no match for 'operator=' in 'colordist = sqrt(g)' "
" note C:\OpenCV2.2\include\opencv2\core\types_c.h:1199 candidates are: CvScalar& CvScalar:
perator=(const CvScalar&) "
double normaquadframe,dotquad;//,quada;//,colordist;
double quada,normaquadref;//=0.0001, colordist=0.0001;
double g;//,colordist;
int i, j;
while(1)
{
CvScalar frameM, refM,colordist;//colordistM,colordist,
for(int j=0;j<frame->height;j++)
for(int i=0;i<frame-> width;i++)
{
frameM = cvGet2D(frame,i,j);
refM = cvGet2D(ref,i,j);
normaquadframe=(pow(frameM.val[0],2)+pow(frameM.val[1],2)+pow(frameM.val[2],2));
normaquadref=(pow(refM.val[0],2)+pow(refM.val[1],2)+pow(refM.val[1],2));
dotquad=pow(((frameM.val[0]*refM.val[0])+(frameM.val[1]*refM.val[1])+(frameM.val[2]*refM.val[2])),2);
// normaquadframe*pow(cosf(c/(a*b),2)
quada= (dotquad/normaquadref);
g=(normaquadframe-quada);
166 colordist=(sqrt(g));
cvSet2D(colordistM,i,j,colordist);
}