I want to take an image and (somehow) read it as an array of pixels. Meaning each element of the 2d array would be either a hex code or RGB 3-tuple that represent the color of that pixel.
I have looked into image processing and found things like Pillow or SciPy but I only found overly simple things such as adding a filter or changing the general color properties of the image(making it generally greener by multiplying the read and blue values of every pixel by something like 0.3 - 0.5 while multiplying the green value by 1, effectively keeping it the same). What I need to do is to be able to examine every pixel individually based on its color.
After that I need to convert the image into one that uses less colors, (something like 4 or 8). I think the best way to do this would be to define some "thresholds" for these desired colors and when the color of a pixel is within the range of a certain color from those defined, then the pixel gets that respective color.
I have also not found too much about this, both in the way of actual information or people trying to do the same.
I would like to ask for any information or resources regarding to this kind of problem: - Library(libraries) to use? - Methods?(are there any widely used algorithms for this kind of problem?) - Am I using the wrong programming language?(is there one that offers this kind of functionality but easier to use?)
Any kind of help or information would be greatly appreciated, thank you in advance!
EDIT: I have found this question that refers to getting the values of a pixel, but I still need to split them into less colors.