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


Copy link

Napolitain commented Sep 25, 2019

I'm getting an error :

convert: ../../magick/quantum.c:216: DestroyQuantumInfo: Assertion `quantum_info != (QuantumInfo *) NULL' failed. line 2:     9 Aborted                 (core dumped) convert "$1" -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 "$2"

I use Ubuntu WSL for Windows 10 and installed the library obviously (ImageMagick). I tried it on a 32000*27000 png image (max format for PNG fyi).

I would also prefer to use it on my initial PDF but it seems it does not work?

Copy link

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

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.

Copy link

So damn cool!

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