私は次のような機能を持っています
void doCorrectIntensityVariation(Mat& image)
{
Mat kernel = getStructuringElement(MORPH_ELLIPSE, Size(19,19));
Mat closed;
morphologyEx(image, closed, MORPH_CLOSE, kernel);
image.convertTo(image, CV_32F); // divide requires floating-point
divide(image, closed, image, 1, CV_32F);
normalize(image, image, 0, 255, NORM_MINMAX);
image.convertTo(image, CV_8UC1); // convert back to unsigned int
imshow("gamma corrected",image); cvWaitKey(0);
}
と
IplImage* processImage(IplImage *imrgb, IplImage *n_im)
{
..................
..................
Mat pre(n_im);
doCorrectIntensityVariation(pre);
n_im=new IplImage( pre);// this line throws segmentation fault (core dumped)
...............
...............
return n_im;
}
私のプログラムは最後の行まで実行されますが、最後に glibc が検出されました* : 二重解放または破損 (!prev): 0x0886dee8 * セグメンテーション違反 (コアダンプ)違う