🐟 Fisheye Strength Estimate
Read before you trust it
- image
- estimated_strength
Fisheye Strength Estimate is the lazy friend of this pack. It exists to hand Fisheye Undistort a plausible starting strength value so you're not staring at a blank slider and guessing from zero. That's a genuinely useful job - it's also a much smaller job than the node's name, or its own docstring, implies.
How it works - and where the docstring lies
The class docstring says this node "uses edge detection to estimate barrel distortion amount." It does not. Read the actual source and you'll find a three-way if/else on the image's aspect ratio: frames wider than 1.5:1 return a strength of 1.0, wider than 1.2:1 return 0.9, and anything else returns 0.8. That's the entire estimator. No edge detection, no lens calibration, no learned model - the README's own tip that "Korean street cameras typically use strength around 0.8–1.2" is basically what this node has hard-coded.
That's not a reason to avoid it. It's a reason to know what you're getting: a sane default informed by the shape of your frame and nothing more. It will not tell you whether that particular GoPro is at 1.1 or 1.6 - those both get the same 1.0 answer if the frame is wide enough. Treat it as a seed, not a verdict.
Inputs and outputs
It's about as simple as a node can get.
image(IMAGE, required) - the fisheye photo you're about to flatten.- Output:
estimated_strength(FLOAT).
Wire that single float straight into Fisheye Undistort's strength input to seed the pipeline, then nudge it up or down based on what you actually see. Most fisheye work lands between 0.8 and 1.5 on that slider, so you'll rarely be far off.
Install
Same pack as the other two nodes, so one install gets all three. In ComfyUI Manager, search ComfyUI-FisheyeTransform and install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/QuackPhuc/ComfyUI-FisheyeTransform
Then restart ComfyUI. No models to download, no requirements beyond what ComfyUI already ships - this one barely touches OpenCV at all, it just reads tensor dimensions.
Where it fits
Honest take: for a 16:9 dashcam or security-cam clip, this node gives you a good starting strength and saves you a few seconds of fiddling. For anything unusual - a circular 1:1 fisheye, a heavily cropped frame - it just returns 0.8 and you're tuning by hand anyway. The undistort→inpaint→redistort workflow it feeds into is the real trick in this pack; the estimator is a convenience, not the point. If you're already comfortable with your camera's distortion, you can skip this node entirely and set strength directly on Fisheye Undistort. Nothing downstream cares where the number came from.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| estimated_strength | FLOAT | — |