Solved

How can I find/create "RGB-565" image ?

Posted on 2000-02-19
7
1,446 Views
Last Modified: 2008-02-26
Hi,

Where can I find/create an RGB-565 picture (preferably size 352x240) ?
(I need specific "565 rgb" format - not just "rgb").
0
Comment
Question by:ronenl
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
7 Comments
 
LVL 15

Expert Comment

by:hewittg
ID: 2539973
0
 

Author Comment

by:ronenl
ID: 2540021
hewittq,
Thank you for the trouble, but I need
specific format: RGB-565.
I don't know what it means-
 (I'd be glad if you knew).
0
 
LVL 12

Expert Comment

by:Otta
ID: 2540128
Another URL:
http://www.intel.dk/ial/rdx/release.htm 
"Intel Realistic Display Mixer (RDX) Developer's Kit"
0
Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

 
LVL 12

Expert Comment

by:Otta
ID: 2540613
Take a look at:
http://www.voodooextreme.com/glide3tutorial/english/tutorial16.htm 
and the image:
http://www.voodooextreme.com/glide3tutorial/image/565.jpg
which uses '5' reds, '6' greens, and '5' blues.
0
 

Author Comment

by:ronenl
ID: 2545213
The only thing I don't quite follow is -
how do I know that downloading the image
as *.jpg I'd get RGB565 ?
Does RGB565 has a specific name to the file
 (*.tif , *.gif , *.jpg , .... ).
 If I download your file as jpg , is it a conversion
 or the real RGB565 ?

 (I'm asking this because my knowledge in this
 field is very poor, please forgive me if it's not
 such a clever question.
I heard though of many types of images: YUV,RGB,RGB565,RGB888,Y-Cb-Cr,....).
0
 
LVL 12

Accepted Solution

by:
Otta earned 100 total points
ID: 2547046
> how do I know that downloading the image as *.jpg I'd get RGB565 ?

You cannot know, unless you "dig" into the header of the JPG file; the author of the JPG file has chosen either 5-5-5 or 5-6-5 or .... when he/she created the JPG file.
0
 

Author Comment

by:ronenl
ID: 2547084
This is from a good guy from a news group:
===================================
Hello!

> I need a RGB 565 Test image,
> The CD from the video book: Video demystified contains
> a RGB directory with many *.tif files.
>
> 1) How can I be sure that those files are RGB-565.
===================================
They almost certainly aren't 565 images.  As I understand it, TIFF
technically allows you to set "BitsPerSample" to 5,6,5, but in practice
they're almost always 8,8,8.

> 2) Do you know of a web site in which I can download
>    RGB-565 images?

I don't know of a format that popularly supports RGB-565 images.

>3) I once created YUV image in C++ (Simply wrote data to
>   file in Y-Cb-Cr mode). How can I do that with "RGB 565" ?
>   What is special about RGB-565 ?

This should be fairly easy.  RGB-565 pixels are each 16 bits in size.  The
ordering is:
"BBBBBGGGGGGRRRRR".  You might find this article useful:
http://lesher.dyndns.org/highcolor.html

If you have a 24-bit image and are converting to 5-6-5, for each color, you
first clip to the correct number of bits (5 for red or blue; 6 for green),
and then shift it left the correct number of places (11 for blue, 6 for
green, 0 for red).  (Some people like to round off to the correct number of
bits rather than truncating, but truncating is a bit easier and
significantly faster).

Your conversion loop would look a little like this (without optimization):

int i,j;
int lineWidth;     /* width of one line in pixels */
char *src, *dest;  /* src is 24-bit 888 B:G:R; dest is 16-bit 565 B:G:R*/

/* Not shown:  repeat these two loops for each line of the image */
for (i=0; i < lineWidth; ++i)
{
    for(j=0; j<lineWidth; ++j)
    {
        unsigned short * p = (unsigned short*)dest;
        *p  = ((unsigned short)*src) & 0xf8) << 11;   /* blue */
        ++src;
        *p  |= ((unsigned short)*src) & 0xfc) << 6;   /* green */
          ++src;
        *p |= ((unsigned short)*src) & 0xf8);         /* red */
        ++src;
        dest += 2;
    }
}
0

Featured Post

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A clone is a duplicate copy. Sheep have been cloned and maybe someday even people will be cloned, but disk cloning (performed by the hard drive cloning software) is a vital tool used to manage and protect data. Let’s look at what hard drive cloning …
This article outlines why you need to choose a backup solution that protects your entire environment – including your VMware ESXi and Microsoft Hyper-V virtualization hosts – not just your virtual machines.
Come and listen to Percona CEO Peter Zaitsev discuss what’s new in Percona open source software, including Percona Server for MySQL (https://www.percona.com/software/mysql-database/percona-server) and MongoDB (https://www.percona.com/software/mongo-…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question