Show HN: BokehCamera – Blur webcam background photorealistically using RealSense
github.com
github.com
If you are not on a budget, you can use a mirrorless camera with a big aperture (say f1.6), wide angle lens as a "webcam" by connecting the HDMI out of the camera to the computer using an Elgato Camlink. That will also get you a nicely blurred background.
I do this, and a lot of people do a double take whenever I enter a zoom call. Best commment so far was "What is happening? Are you in a movie?".
The mildly annoying part is most DSLRs don't have an AC adapter input to allow them to be constantly on, but you can buy a "fake" Canon battery that sits in the battery compartment and wires in AC adapter input.
Yeah, I left out that detail. One should also make sure that the camera has a clean HDMI output. I can't use my old EOS 500D for this since the HDMI output is grody with focus aids and stuff.
If you're on Linux there's a way to make this work with gphoto2, but it involves a little bit of fiddling and is less plug and play.
The thing with shooting WFO, you'll have tissue paper thin focal plane. Moving forward or leaning back could throw you out of focus.
Honeypot!
b) if you presume "mirrorless camera" as a baseline, a prime 1.x at roughly 50mm (equivalent) is almost always one of the budget lens options.
Here are a few:
- Structure Core: https://structure.io/structure-core Closest to RealSense in functionality that I've tried so far, but pricier. Software is in a private developer portal instead of a Git repo where everyone can submit issues and pull requests and comment, so it's not as easy to get help as RealSense when you run into issues.
- Mynt Eye: https://www.mynteye.com/ From my understanding the S models eat into your GPU and the D models have on-board processing, but the D models seem sold out.
- ZED: https://www.stereolabs.com/zed/ They eat into your GPU. No on-board processing.
I'd be very interested to know about others, especially if there are more that can do on-board processing, since I typically need my entire GPU for other tasks.
The tricky thing is that in order to get different amount of blur at different depths, I interpolate between precomputed 3 levels of blur, since that vectorizes well at -O3, I'm not sure how to compute a per-pixel varying blur efficiently without going to the GPU.