I have an image with a number of different colored polygons. Each polygon is intended to be a solid color, but the edges of each are softened and blurred between the colors (e.g., the pixels between a blue and red polygons are purplish). I was wondering if there is a way to convert these edge pixels in Photoshop to one of the colors they are intending to transition between. Here's a snap shot of the image

enter image description here

In this sample, I only want to have 4 distinct colors for all the pixels: green, dark tan, light tan, and blue; converting every color that is between those colors to maybe its closest color?


  1. The lines of the pixel grid in my sample are not real, Photoshop has generated them just for this high zoom screenshot

  2. I'm not searching smoothed vector curves with solid fills. This image is not scanned nor rasterized, it's drawn in Photoshop with a soft brush. I want to get it like it was drawn by using the pencil tool and 4 discrete colors. Every mixed color pixel should be converted to the nearest of those 4 colors.

  • Yeah it is. I was intending to easily show pixels since the original image has MANY more colors. I just wanted to use this small area as a case study. Commented Jan 8, 2021 at 0:49
  • I'm expecting boxy staircase edges. I believe the map is actually made in photoshop just with a softened brush so all the edges are some sort of transparent blending between the colors. But you're right, if there is an image of the vector drawing, that anti-aliasing would provide the same effect. I don't mind boxy outlines as I can smooth those with some mapping software algorithms. I just need to only have solid colors in order to make that actually work for me. Commented Jan 8, 2021 at 2:01
  • OK. I removed my comments and edited the result of this chat to the question. Roll it back if it's not right.
    – user82991
    Commented Jan 8, 2021 at 6:15

2 Answers 2


Try this:

  1. Image > Mode > Indexed, flatten Layers OK.

  2. Palette: Local (Perceptive), Dither: none, 4 colours

  3. Then back to Image > Mode > RGB

  • This was close! Got me looking in the right spot. But it was opting for some of the transition colors over the major colors. What works is using the "forced" option to seed the desired colors! Commented Jan 8, 2021 at 0:16

Thanks to Billy Kerr for pointing me in the right direction. I've adapted their answer a bit. Here's the workflow that worked for me:

  1. Image > Mode > Indexed, flatten Layers OK.
  2. Palette: Local (Perceptual or Selective both worked), Dither: none, x colors (where x is the number of defined colors you want).
  3. Forced: Custom — A "Forced Colors" splash screen will appear with a grid of squares, allowing you to define the colors you want to be forced on all the pixels.
  4. Then back to Image > Mode > RGB

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.