[Insight-users] Fwd: reading jpg files
Jie Zhu
zhujie1979 at gmail.com
Wed Sep 15 18:16:47 EDT 2004
I added reader->update() and it worked. Thanks.
Jie
On Wed, 15 Sep 2004 15:49:50 -0600 (MDT), Joshua Cates
<cates at sci.utah.edu> wrote:
> Hello Jie,
>
> In this code you are never calling Update on the
> image file reader so you are iterating through
> an uninitialized image (of arbitrary values). See
> Section 4.1.2 of the ITK Software Guide
> (www.itk.org/ItkSoftwareGuide.pdf) for more detailed
> information on file readers.
>
> hope this helps,
>
> Josh.
> ----------------
> Josh Cates
> Scientific Computing and Imaging Institute
> University of Utah
> http://www.sci.utah.edu/~cates
>
>
>
>
> On Wed, 15 Sep 2004, Jie Zhu wrote:
>
> > Hi All,
> > I am new to itk, and I need to use it with JPEG files. I wrote a
> > simple program putting the jpeg file in image and tested to see if
> > image.GetPixel() returns the correct value of the pixels. But the
> > result I get looks like:
> > 205
> > 205
> > 205
> > 205
> > ...
> > Although the input image have a variety of pixel values, the pixel
> > values GetPixel() return are all 205 or "=" if I dont convert it to
> > (int). Can somebody please help me and tell me what I'm doing wrong.
> > Thank you.
> > Jie
> >
> > Below is the code
> > -------------------------------------------------------------------------------------------------------------
> > typedef itk::Image<unsigned char,2> ImageType;
> >
> > typedef itk::ImageFileReader< ImageType > ReaderType;
> >
> > ReaderType::Pointer reader = ReaderType::New();
> >
> > const char * inputFilename = argv[1];
> > const char * outputFilename = argv[2];
> >
> > reader->SetFileName( inputFilename );
> > writer->SetFileName( outputFilename );
> >
> > ImageType::Pointer image = reader->GetOutput();
> >
> > //set regions in input image
> > ImageType::RegionType region;
> > ImageType::RegionType::SizeType size;
> > ImageType::RegionType::IndexType index;;
> > index[ 0 ] = 0;
> > index[ 1 ] = 0;
> > size[ 0 ] = 255;
> > size[ 1 ] = 255;
> >
> > region.SetSize( size );
> > region.SetIndex( index );
> >
> > image->SetRegions( region );
> > image->Allocate();
> >
> > //creat linear iterators
> > //typedef itk::ImageRegionConstIterator< ImageType > ConstIteratorType;
> >
> > typedef itk::ImageLinearConstIteratorWithIndex< ImageType >
> > ConstIteratorType;
> > ConstIteratorType inputIt( image, image->GetRequestedRegion() );
> > inputIt.SetDirection(0);
> >
> > //iteration
> > for ( inputIt.GoToBegin(); ! inputIt.IsAtEnd();
> > inputIt.NextLine())
> > {
> > inputIt.GoToBeginOfLine();
> > while ( ! inputIt.IsAtEndOfLine() )
> > {
> > ImageType::PixelType pixelValue = image->GetPixel( indx );
> > std::cout<<(int)pixelValue<<" "<<std::endl;
> > ++inputIt;
> >
> > }
> > }
> >
> > --
> > Jie Zhu
> > Cornell University
> >
> >
> >
> >
> > --
> > Jie Zhu
> > Cornell University
> > _______________________________________________
> > Insight-users mailing list
> > Insight-users at itk.org
> > http://www.itk.org/mailman/listinfo/insight-users
> >
>
>
--
Jie Zhu
Cornell University
More information about the Insight-users
mailing list