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: talonren...@me.com
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
Oiio-dev@lists.openimageio.org
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to