Note: this is my first post here.

The Challenge

The challenge is to count the number of chocolate chips in a cookie. A cookie in this case is a circle with dots (the chips) in it. Given any square cartoon image of this cookie, you are to write a bot that counts and outputs the number of chocolate chips.


  • Has to take in an image type of png.
  • It has to be able to take in any file size, as long as it is square.
  • It has to be able to handle both color and B&W images.
  • Output can be in any human-understandable form.
  • The circle will be filled with color and will have an outline.
  • Chips will all be the same size and color.
  • There is only one cookie in the image
  • Chocolate chips may be irregularly spaced, but are perfect circles.
  • You can use a library.
  • There is nothing in the image except the cookie and the chocolate chips. -All other cookies will look like the example images.

This is ; the shortest code gets accepted.


Cookie 1 => 8 or 1000 (binary)
Cookie 2 => 8 or 1000 (binary)
Cookie 3 => 10 or 1010 (binary)
Cookie 4 => 7 or 0111 (binary)

  • 4
    \$\begingroup\$ Hello and welcome to PPCG! Please provide some sample cases and consider simplifying the input so it may be more objectively scored (it may be a bit complex to take any kind of hairbrush image - consider creating a criteria). \$\endgroup\$
    – cole
    Commented Mar 30, 2017 at 1:34
  • 1
    \$\begingroup\$ Please add example images \$\endgroup\$ Commented Mar 30, 2017 at 2:03
  • \$\begingroup\$ Hello and welcome to PPCG! Currently this question is lacking quite a few details; image-processing challenges need specifications to be objectively scored. Additionally, you are missing a few details; can the bristles be different sizes? How small can they get? Will there be things other than bristles? I would recommend looking at Wheat Wizard's advice and posting in the Sandbox first to get feedback without the risk of losing reputation or getting the answer closed. So sorry, but I voted this to be closed, which means that it's now on hold. Better luck next time, and check out the Sandbox! \$\endgroup\$
    – hyper-neutrino
    Commented Mar 30, 2017 at 2:42
  • \$\begingroup\$ @DigitalTrauma I am working on them right now. I understand your flag and agree with it. Please take it off when I have posted the images, though... \$\endgroup\$
    – Nobody
    Commented Mar 30, 2017 at 10:12
  • \$\begingroup\$ @HyperNeutrino I fixed these things. \$\endgroup\$
    – Nobody
    Commented Mar 30, 2017 at 10:36

1 Answer 1


Mathematica 134 Bytes


Usage (applied to .png images)




Here's the code to bring in the cookie examples:


I'm sure this can be shortened, but I think it's fairly bullet-proof as is. The original images have many more colors than the eye can see.

Here are the original cookies:


Here are the cookies after cleanup to get them into a 4 component array:



After that, all is needed is to use ComponentMeasurements to count holes. This will always report at least 1. You could have one really big chocolate chip filling the cookie border, so the 0 or 1 case will always be ambiguous.

  • \$\begingroup\$ Awesome! Can you provide a link so anyone can run it online? \$\endgroup\$
    – Nobody
    Commented Apr 22, 2017 at 15:56

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.