i am getting this error and i dont know why or understand the reason:
vector<double> fourier_descriptor(Gdiplus::Bitmap myBitmap)
{
vector<d开发者_C百科ouble> res;
Contour c;
vector<Pixel> frame;// = c.GetContour(p);
frame = c.GetContour(myBitmap);
return res;
}
the error is in this line frame = c.GetContour(myBitmap);
I can't find a reference for the GetContour method, but that looks like you're trying to pass a Bitmap by value, which (if I remember my C++ correctly) will invoke the copy constructor -- and Bitmap doesn't have a public copy constructor.
If you own Contour, rewrite that function to take a Bitmap*
or Bitmap&
instead (i.e. pass a pointer or reference), thereby avoiding the copy constructor.
Try passing it via reference:
vector<double> fourier_descriptor(Gdiplus::Bitmap& myBitmap)
Ny passing it by value, you make a copy of it, and Bitmap doesn't permit that.
Gdiplus::Bitmap
in non-copyable. And you are trying to copy it when you attempt to pass it around by value.
精彩评论