Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Whiteboard Picture Cleaner - Shell one-liner/script to clean up and beautify photos of whiteboards!


This simple script will take a picture of a whiteboard and use parts of the ImageMagick library with sane defaults to clean it up tremendously.

The script is here:

convert "$1" -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 "$2"


Here are some of the input images:

And here are the results:


Assuming it's saved as a file named, the command is ./ {name of input file} {name of file to output to}.

Here's an example:

./ example1.jpg output1.png

How I Came Up With This

I was doing a lot work with whiteboards and I'd been taking pictures of them to document what had been written. I wanted a more clean version of the pictures though, something that captured the essence of what a whiteboard image showed.

Eventually I found this excellent guide to cleaning up whiteboard photos using GIMP. However, I found I wanted more automation. So, I spent a few hours yesterday figuring out how to do the same thing using ImageMagick from the command line and made this script.

Copy link

Napolitain commented Sep 25, 2019

Okay, the PNG error is not corrected but I finally found out how to use it on my PDF using this link :

I had a "Unauthorized" error so I nanoed a config file.

Copy link

Fresher14 commented Jan 13, 2021

I ran this script in a corporate unix environment and it works great. Just rather slow.
Great job, thank you.

Copy link

santhalakshminarayana commented Oct 18, 2021

I had converted the above ImageMagick commands to OpenCV Python with some adjustments for white-board image enhancement.
If any one interested for Python implementation, find the script in white_board_enhance github repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment