This is a repeat of https://github.com/OpenImageIO/oiio/issues/3700 <https://github.com/OpenImageIO/oiio/issues/3700>
> On Dec 5, 2022, at 4:06 PM, Jesse Yeh <gi...@outlook.com> wrote: > > Hi, all! > > I'm trying to achieve the following when reading an image: > Read the image into a non-interleaved buffer (so the order of the buffer > values looks like RRRGGGBBB instead of RGBRGBRGB) > Flip the images vertically upon reading > I was able to attain a non-interleaved buffer following the read_image > example in the documentation > (https://openimageio.readthedocs.io/en/latest/imageinput.html#reading-channels-to-separate-buffers > > <https://openimageio.readthedocs.io/en/latest/imageinput.html#reading-channels-to-separate-buffers>), > but in order to also flip the image vertically, I need to provide a negative > y stride. However, because the stride represents the distance between pixel > rows in the buffer itself, it doesn't seem possible to specify a stride value > that makes sense for a non-interleaved buffer. Is there a way to achieve both? > > One approach I tried uses read_scanlines in a nested loop to iterate over > each channel in the image in reverse scanline order: > for (int channel = 0; channel < numChannels; ++channel) { > for (int y = 0; y < height; ++y) { > image->read_scanlines(subimage, > miplevel, > height - y - 1, height - y, 0, > channel, channel + 1, > OIIO::TypeDesc::FLOAT, > &pixelBuffer[width * height * channel + (width > * y)]); > } > } > > Although this works, it is too slow. Is there a more efficient approach? > > Thanks, > Jesse > _______________________________________________ > Oiio-dev mailing list > Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org> > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org > <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> -- Larry Gritz l...@larrygritz.com
_______________________________________________ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org