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

Reply via email to