Next time you snap a picture,  you realize you are capturing millions of pixels into a buffer.  The buffer data is read and converted into JPEG in real time.  Each pixel in that buffer is  an unsigned int  (four bytes ): Alpha, Blue, Green, and Red.  Let us ignore alpha for now.  As you know, a unsigned byte can have a value 0 to 255.  In remote sensing jargons,  it is called blue channel, green channel, and red channel.  Each channel  provides valuable information such as, say farm lands, forest fire, drought, landscape,  diseases ,    If a pixel has a value (say in hex) = 0x00a1b1c1 ,  then 0xc1 is the red pixel, 0xb1 is the green pixel, 0xa1 is the blue and 00 is the alpha. #define RED 1 #define GREEN 2 #define BLUE 3   then, develop a function   void  calculateSum ( unsigned int *ptr , int count ,  unsigned char channel ,  unsigned int *sum,  float *average ) {  *sum = 0;     if (channel == RED )        calculate sum and average for red channel     else     if (channel == GREEN )        calculate sum and average for green channel      if (channel == BLUE )        calculate sum and average for blue channel    }    main ( ) {   sum = 0; average = 0; calculateSum ( buffer, 16 ,  RED,  &sum,  &average )   sum = 0; average = 0; calculateSum ( buffer, 16 ,  GREEN,  &sum,  &average )   sum = 0; average = 0; calculateSum ( buffer, 16 ,  BLUE,  &sum,  &average )   Print all values  You can reuse the code you did previous assignment to calculate the red, green and blue values   }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Next time you snap a picture,  you realize you are capturing millions of pixels into a buffer.  The buffer data is read and converted into JPEG in real time.  Each pixel in that buffer is  an unsigned int  (four bytes ): Alpha, Blue, Green, and Red.  Let us ignore alpha for now.  As you know, a unsigned byte can have a value 0 to 255.  In remote sensing jargons,  it is called blue channel, green channel, and red channel.  Each channel  provides valuable information such as, say farm lands, forest fire, drought, landscape,  diseases , 

 

If a pixel has a value (say in hex) = 0x00a1b1c1 ,  then 0xc1 is the red pixel, 0xb1 is the green pixel, 0xa1 is the blue and 00 is the alpha.

#define RED 1

#define GREEN 2

#define BLUE 3

 

then, develop a function

 

void  calculateSum ( unsigned int *ptr , int count ,  unsigned char channel ,  unsigned int *sum,  float *average )

{

 *sum = 0;

    if (channel == RED ) 

      calculate sum and average for red channel 

   else

    if (channel == GREEN ) 

      calculate sum and average for green channel 

    if (channel == BLUE ) 

      calculate sum and average for blue channel 

 

 

main ( )

{

 

sum = 0;

average = 0;

calculateSum ( buffer, 16 ,  RED,  &sum,  &average )

 

sum = 0;

average = 0;

calculateSum ( buffer, 16 ,  GREEN,  &sum,  &average )

 

sum = 0;

average = 0;

calculateSum ( buffer, 16 ,  BLUE,  &sum,  &average )

 

Print all values 

You can reuse the code you did previous assignment to calculate the red, green and blue values

 

}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Huffman coding
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education