ascii_art
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
ascii_art [2023/03/25 12:22] – [Step 1. Read your image and print its height and width in pixels] frchris | ascii_art [2023/03/25 14:30] – [Step 3. Convert the RGB tuples of your pixels into single brightness numbers] frchris | ||
---|---|---|---|
Line 33: | Line 33: | ||
"""" | """" | ||
</ | </ | ||
+ | |||
+ | This Lab is based on one of [[https:// | ||
+ | |||
==== Step 0. Choose an image ==== | ==== Step 0. Choose an image ==== | ||
Line 158: | Line 161: | ||
private BufferedImage image; | private BufferedImage image; | ||
private String fileName; | private String fileName; | ||
+ | private int width, | ||
+ | private int[] rgb; // for 8bit RGB packed in an int array | ||
+ | private Color[][] px; | ||
public Step2(String fileName) | public Step2(String fileName) | ||
{ | { | ||
Line 166: | Line 172: | ||
image = ImageIO.read(new File(fileName)); | image = ImageIO.read(new File(fileName)); | ||
System.out.println(fileName + " read "); | System.out.println(fileName + " read "); | ||
- | | + | width = image.getWidth(); |
- | System.out.println(" | + | height = image.getHeight(); |
- | // Print the width and height | + | System.out.println(" |
+ | rgb = image.getRGB(0, | ||
+ | System.out.println(rgb.length); | ||
+ | // rgb is a 1D array, with the rows listed one after the other. | ||
+ | ///to convert to a 2D array use something like this: | ||
+ | // grid (x,y) = rgb[ y*width + x]; | ||
+ | // Make a new 2D array of color name px, and fill it from the | ||
+ | // for example, px[0][0] = new Color ( rgb[0] ); | ||
+ | | ||
} | } | ||
Line 176: | Line 190: | ||
} | } | ||
} | } | ||
+ | public Color[][] getPx() { return px;} | ||
public static void main(String[] args) | public static void main(String[] args) | ||
{ | { | ||
Line 184: | Line 198: | ||
} | } | ||
</ | </ | ||
+ | You can see what your new 2D Array of Color looks like with {{ :: | ||
+ | |||
==== Step 3. Convert the RGB tuples of your pixels into single brightness numbers | ==== Step 3. Convert the RGB tuples of your pixels into single brightness numbers | ||
+ | |||
+ | Now that you have a 2D Array of '' | ||
+ | - Average: average the R, G and B values - '' | ||
+ | - Lightness: average the maximum and minimum values out of R, G and B - '' | ||
+ | - Luminosity: take a weighted average of the R, G and B values to account for human perception - '' | ||
+ | - See [[https:// | ||
+ | |||
==== Step 4. Convert brightness numbers to ASCII characters | ==== Step 4. Convert brightness numbers to ASCII characters | ||
==== Step 5. What if it looks your image looks squashed? ==== | ==== Step 5. What if it looks your image looks squashed? ==== | ||
- | [[https:// | + | [[https:// |
ascii_art.txt · Last modified: 2023/03/27 10:46 by frchris