This question may be somewhat uninformed, as I am certainly no expert on the notions involved, so please bear with me :)
In the context of manipulating synthetic bokeh in post-processing,
settling for using gaussian blur as a substitute for actual bokeh (I know that they are distinct things, see e.g. "What's the difference between Bokeh and Gaussian Blur?", but for the matter on topic we'll forget about this),
can't we just use, e.g., contrast detection, and maybe other methods, to learn where bokeh already exists in a given image, and then intensify this bokeh? (Instead of having the photographer/user define where to artificially put a guassian blur.)
I can very well imagine a technique like this to work. You could, sequentially:
- Use contrast detection, and, for example, if bokeh circles exist, simply measure their diameter, to create a "heat map" of bokeh in the image.
- Then you could put a gaussian blur (or other kind of artificial bokeh) over the image, weighted by the heat map of step 1.
- Now you have an image where the bokeh is not created from scratch, but simply intensified from already existing bokeh.
(And if worried that in-focus areas bay be blurred, you could also, say, put gaussian blur where the heat map values are above e.g. .2 (in a scale of 0 to 1), and possibly even apply "the opposite thing", say local contrast, below .2)