I understand why I’m getting a silence treatment. I was reading the pixels from
my source image instead of my resized (resampled) image.
I waited half a day on a stupid typo. See working code below:
Code:
ImageBuf srcImageBuf("C:/someImage.dpx”);
int thumbWidth = 480;
int thumbHeight = 270;
int thumbChans = 3;
ImageSpec thumbSpecSpec( thumbWidth, thumbHeight, thumbChans, TypeDesc::UINT8 );
ImageBuf resizedBuf( thumbSpecSpec );
ImageBufAlgo::resample ( resizedBuf, srcImageBuf );
unsigned char* myBuffer = (unsigned
char*)malloc(thumbSpecSpec.width*thumbSpecSpec.height*thumbSpecSpec.nchannels );
resizedBuf.get_pixels(resizedBuf.roi_full(), TypeDesc::UINT8, myBuffer);
// Create QImage
QImage::Format QIFormat = QImage::Format_RGB888;
QImage *newQImage = new QImage(myBuffer, resizedBuf.spec().width,
resizedBuf.spec().height, QIFormat);
Renaud
From: [email protected]
Sent: Sunday, March 5, 2017 1:09 AM
To: OpenImageIO developers
Subject: [Oiio-dev] "ImageBufAlgo::resize" and "ImageBufAlgo::resample"
cropsimage instead of scaling down to new size
Hi !
I was able to get my get my image loaded and converted to a QImage using code
that Larry and Peter Black helped with a little while back, that said for some
reason when I try to scale down my image (to generate a thumbnail) both
ImageBufAlgo::resize and ImageBufAlgo::resample crop the original image (using
a portion of the source image from what seems to be a roi of 0, 480, 0, 270)
instead of using the full ROI from the source and scaling it down into a
smaller thumbnail ImgBuf.
I am pulling my hair off on this. I have used both resize and resample with
pyOpenImageIO with no issue, it’s pretty much the same code here so I’m not
sure what I am doing wrong.
As usual, any help would be greatly appreciated. (I’m using OIIO 1.7 on Windows
10, compiled with VS2015)
Thanks,
Renaud
Code:
ImageBuf srcImageBuf("C:/someImage.dpx”);
int thumbWidth = 480;
int thumbHeight = 270;
int thumbChans = 3;
ImageSpec thumbSpecSpec( thumbWidth, thumbHeight, thumbChans, TypeDesc::UINT8 );
ImageBuf resizedBuf( thumbSpecSpec );
ImageBufAlgo::resample ( resizedBuf, srcImageBuf );
unsigned char* myBuffer = (unsigned
char*)malloc(thumbSpecSpec.width*thumbSpecSpec.height*thumbSpecSpec.nchannels );
srcImageBuf.get_pixels(resizedBuf.roi_full(), TypeDesc::UINT8, myBuffer);
// Create QImage
QImage::Format QIFormat = QImage::Format_RGB888;
QImage *newQImage = new QImage(myBuffer, resizedBuf.spec().width,
resizedBuf.spec().height, QIFormat);
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org