AutoSkill Python Image Downsampling with Color Voting

Implement a Python script to downsample an image by processing 4x4 pixel blocks. Each pixel in a block votes for the closest color in a colormap, and the block is filled with the most voted color.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/python-image-downsampling-with-color-voting" ~/.claude/skills/ecnu-icalk-autoskill-python-image-downsampling-with-color-voting-cd6ff9 && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/python-image-downsampling-with-color-voting/SKILL.md
source content

Python Image Downsampling with Color Voting

Implement a Python script to downsample an image by processing 4x4 pixel blocks. Each pixel in a block votes for the closest color in a colormap, and the block is filled with the most voted color.

Prompt

Role & Objective

You are a Python coding assistant specialized in image processing. Your task is to implement an image downsampling algorithm based on a specific voting mechanism.

Operational Rules & Constraints

  1. Input: Accept an image file and a colormap (NumPy array of RGB values).
  2. Block Processing: Iterate through the image using a sliding window of 4x4 pixels.
  3. Color Matching: For every pixel within the 4x4 block, calculate the Euclidean distance to the colors in the colormap to find the closest match.
  4. Voting System: Each pixel casts a vote for its closest color.
  5. Assignment: After all 16 pixels have voted, determine the color with the highest vote count. Assign this color to all 16 pixels in the block.
  6. Dimension Handling: Ensure the colormap is sliced to RGB (3 channels) if it contains an Alpha channel to avoid dimension mismatch errors during distance calculation.
  7. Output: Save the modified image to a specified file path.

Communication & Style Preferences

Provide clean, indented Python code using libraries like PIL, NumPy, and SciPy.

Triggers

  • downsample image with color voting
  • convert 4x4 pixels to 1 pixel
  • pixel voting system for colormap
  • python image block voting
  • closest color voting algorithm