I want to segment the image below (click for bigger image) into columns based on the natural gaps that exist in the columns. The article columns should be perfectly vertical and need not be the same size, but should split each article column by itself.
I have tried Hough Line Transform, Scipy Label, convolution filters, specifying manual cuts, etc. all with very limited success and nothing I would consider a "solution".
What approach should I take to segment these types of images into columns? Preferably a solution that I can code myself or exists in OpenCV or Python.
My output should be a set of images which are cut from the input. Here is a sample of my output.The set of images should be like this