GCC at compile time give me this messageundefined reference tocv::GaussianBlur(cv::_InputArray const&, cv::OutputArray const&, cv::Size, double, double, int)’
with this code
cv::Mat CreateLinearMotionKernel(double Angle, int Len, int Dim = 65)
{
int Sz2 = Dim / 2;
Angle = 180 - Angle;
Angle = Angle * pi / 180.0; // Grad to Radians
cv::Mat kern = cv::Mat::ones(1, Len , CV_32F);
cv::Mat RotMat = (Mat_(2,3) << std::cos(Angle), -std::sin(Angle) , 0.0, std::sin(Angle), std::cos(Angle) ,0.0 );
double HalfLen = (Len-1)*0.5;
double V_1 = std::cos(Angle)*HalfLen;
double V_2 = std::sin(Angle)*HalfLen;
RotMat.at(0,2) = Sz2 - V_1;
RotMat.at(1,2) = Sz2 - V_2;
cv::Mat Ret;
cv::warpAffine(kern,Ret,RotMat,cv::Size(Dim,Dim),INTER_CUBIC);
cv::GaussianBlur( Ret, Ret , Size(3,3) , 3.0, 3.0, BORDER_DEFAULT); // Non funziona
//cv::medianBlur(Ret,Ret,3); // OK But attention to Mat.type() !!!
//cv::blur(Ret,Ret,Size(7,7)); // OK
return Ret ;
}
loader find correctly cv::medianBlur(Ret,Ret,3) and cv::blur(Ret,Ret,Size(7,7))
but not GaussianBlur()
Library are ceate from source (last version) with GCC 13.2.0 via CMake and Code::Blocks IDE
I don’t have modyfied CMake settings.
Sorry for my poor english and tanks in advance for your help.