How to read '.webp' image file

72 visualizaciones (últimos 30 días)
Salad Box
Salad Box el 15 de En. de 2023
Comentada: Image Analyst el 13 de Jun. de 2023
Hi,
I have a couple of image files in '.webp' format, how to read them in Matlab?

Respuesta aceptada

KALYAN ACHARJYA
KALYAN ACHARJYA el 15 de En. de 2023
Editada: KALYAN ACHARJYA el 15 de En. de 2023
This option!
Save in the web & you can try using complete web path
Reference : Link
HTH
  2 comentarios
Salad Box
Salad Box el 15 de En. de 2023
Thank you.
Image Analyst
Image Analyst el 16 de En. de 2023
I don't understand. That question seems to only talk about .JPG images on the web. How would any of that work for .webp format images and get them into a variable in MATLAB?

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 16 de En. de 2023
Try this. Adapt as needed:
% If you enter this address
% 'https://i0.wp.com/www.bitsandpieces.us/wp-content/uploads/2023/01/unnamed-15.png?resize=600%2C334&ssl=1');
% If, in your browser, you right click, it will ask you to save the image as a .webp format file.
% But what you really want is a variable in MATLAB and from there you can save it as any file format you want.
imageURL = 'https://i0.wp.com/www.bitsandpieces.us/wp-content/uploads/2023/01/unnamed-15.png?resize=600%2C334&ssl=1';
[indexedImage, cmap] = imread(imageURL);
rgbImage = ind2rgb(indexedImage, cmap);
imshow(rgbImage);
% imwrite(rgbImage, 'Mistakes.png')
  2 comentarios
Sven
Sven el 13 de Jun. de 2023
Hey IA, can you describe what's happening under the hood here?
I believe the original image is a .png but the URL suffix specifies a resize, which is done (on the server side?) using the webp format before serving that result?
Anyway, the main thing I'm coming up against is that there doesn't seem to be any native ability for MATLAB to read a .webp file stored locally. For instance, calling imread() with your provided URL works just fine, but if use your browser to save a local .webp version of the image and then provide the location of that file to imread we get the error:
>> imread(myLocalFile)
Error using imread>get_format_info
Unable to determine the file format.
I've tried providing "png" format specifier and also specifying the filename in "file:///C:/path/to/image/image.webp" format - same result.
The only way I've found to read a .webp locally is to download google's .webp processing libraries (webpd.exe for windows) and then call it from MATLAB via a system() call telling it to send the output to a temporary .png file, and then using imread() to read that resultant file. This feels clunky but maybe it's the only solution at the moment?
Anyway, just thought I'd add to the thread in case the same questions were coming up for others.
Image Analyst
Image Analyst el 13 de Jun. de 2023
@Sven I have no idea. I know little about .webp or even why people use that instead of the original format. I didn't even know about Google's webpd.exe until you told me about it. Ask tech support if there is some better way to read .webp files.

Iniciar sesión para comentar.

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by