Programming Assignment 3 Image Processing – Pointers, Class & Dynamic Data
SuperClass1 MCS 2514 Programming Assignment 3 Image Processing – Pointers, Class & Dynamic Data Please only submit MCS2514Pgm3.cpp This project is called “Image Processing” which will shrink an input image, convert a color image to gray image, add random noise to an image, add the RGB values of an image , or (as bonus) to denoise the image. But before we rush into this programming challenge, it is important to be intentional about some basic design considerations and a few techniques for managing and manipulating digital images. In solving this problem we will be using classes, pointers, and structured data in order to organize an efficient solution. The images you will manipulate are two dimensional images with a width and a height in units of pixels. Think of an image as a 2D array, indexed by rows (horizontal “scan lines”), which go across the image, and columns (vertical stripes through the image). Any pixel in an image is located by its (row, col) coordinates, or in C++ array terms, myImage[row][col]. Stored at each position in this two dimensional structure are the details of an individual pixel, represented as a point in a 24-bit RGB color space (8 bits for red, 8 bits for green, and 8 bits for blue). This is a common way to store image data, and is straightforward to understand. In this case, each and every pixel in the image consists of three values that are each 8 bits in length. This 8 bit size is no accident (we can store 8 bits in one unsigned char variable). These three values represent the red, green, and blue components of a single pixel. Since the value has 8 bits, it can hold any value between 0 and 255. A pixel with red, green, and blue all zero will appear black; a pixel with R, G, and B all equal to 255 will appear white. Or put another way, a low value is “dark” and a high value is “bright”. Just like an array, the origin (pixel at 0, 0) is normally viewed by convention as the upper left pixel, with rows horizontal and columns vertical. So first, make...
10 years ago
Purchase the answer to view it

- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_1.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_2.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_3.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_4.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_5.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_6.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_7.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_8.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_9.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_10.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_11.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_12.txt
- programming_assignment_3_image_processing_-_pointers_class__dynamic_data_13.txt