[Insight-users] Problems creating image from raw data
Stefan König
stefankoenig at gmail.com
Wed Jul 27 08:33:27 EDT 2011
Hello,
i've got a big problem, while i'm trying to convert picture data from
raw data:
i'm doing it, way if found in this mailing list, but it wont work for
me, allways getting a null pointer exception.
thats the way i tried:
boost::gil::rgb8_image_t gimg(800,600);
boost::gil::jpeg_read_and_convert_image("C:\\Bilder\\Sonnenuntergang.jpg",
(gimg));
typedef itk::RGBPixel<unsigned char> Pixels;
typedef itk::Image<Pixels, 2> RGBImage;
RGBImage::Pointer img;
void * pimg = &img;
convertGILtoItkImage<Pixels>(gimg, pimg);
and now, what im doing in convertGILtoItkImage(..)
dstPixelType *localBuffer = (dstPixelType*) data;
int bythelength = width*height*numChannels;
dstPixelType * localBuffer2 = new dstPixelType[ width*height ];
// copy buffer from gil image to new buffer, which will be owned by itk
image
memcpy(localBuffer2, localBuffer, bythelength);
// if set to true, itk will do memory managment
const bool importImageFilterWillOwnTheBuffer = true;
importFilter->SetImportPointer( localBuffer2, size[0]*size[1],
importImageFilterWillOwnTheBuffer );
importFilter->Update();
*pimg = importFilter->GetOutput();
// hier geht alles, bild ist vorhanden wir geschrieben... kimg bekommt
irgendwoher nen desktruktoraufruf der alles kaputt macht :(
typedef itk::ImageFileWriter<ImageType> WriterType;
WriterType::Pointer writer = WriterType::New();
writer->SetFileName("C:\\checkWriteInMethod11.jpg");
writer->SetInput(*pimg);
try
{
writer->Write();
}
catch( itk::ExceptionObject & err )
{
qDebug() << "ExceptionObject caught !";
qDebug() << err.what();
}
return pimg->GetPointer()->Register();
---------------------------------------------------------
if i write out my picture inside the conversion method, everything works
fine, but if i try to write it out it outside the method, i'm getting a
null pointer exception.
but i've no idea why?
can somebody help me?
regards
Stefan
More information about the Insight-users
mailing list