Three tools, three different jobs
A lot of vision-software arguments are framed as "open source vs commercial", which misses the point. We use all three of these regularly, and they're not really in competition — they cover different points on the cost / control / time-to-value triangle.OpenCV — the foundation
Where it earns its place: research, prototyping, custom pipelines, and any project where the algorithm is novel enough that no commercial library has it.Where it costs you: production hardening. OpenCV gives you primitives. Reliability under camera disconnects, frame drops, encoder jitter — that's all on you. We've spent more time writing watchdogs around OpenCV pipelines than writing the actual vision logic.
What we always pair it with:
- NumPy / Numba for hot loops
- A proper logging stack — vision errors are the worst kind of silent failure
- ONNX Runtime when we want a model in the loop without dragging in a full DL framework
HALCON — when the operator library matters
HALCON is what we reach for when the project needs five obscure operators we don't want to reimplement: shape-based matching, photometric stereo, sub-pixel circle fitting with deformation tolerance, the kind of thing that is two lines in HALCON and three weeks in OpenCV.The IDE (HDevelop) is also genuinely faster for iteration than a Python notebook. Trade-off: licensing cost is real, and it's not a culture fit for software-team-led organisations.
Cognex VisionPro — the line-side workhorse
If the customer's culture is "PLC engineers will own this for the next ten years", VisionPro is the answer. The configuration is GUI-driven, the runtime is rock-solid, and the integration story with Allen-Bradley / Siemens stacks is mature.The downside is exactly what makes it stable: it's a closed system. Custom operators are hard, version control is awkward, and you don't get to ship features at software pace.
Our default decision tree
- Is the algorithm novel? → OpenCV / Python.
- Is the customer a software team that'll own the deploy? → OpenCV / Python.
- Does it need exotic operators (photometric stereo, shape matching with deformation)? → HALCON.
- Will PLC engineers maintain it after handover? → VisionPro or similar GUI tool.
- Is it a one-off lab measurement? → HALCON, every time. The IDE pays for itself.
One thing we no longer argue about
"Should the model run on the camera or on a PC?" — almost always a PC, unless you're outdoors or the cabinet is too hot for one. The flexibility is worth the box.What's your stack? We'd be curious which combinations people are settling on.