I do CAD work and constantly need dimensions for real objects — furniture, mechanical parts, custom brackets. Calipers handle simple shapes, but anything curved or weirdly profiled is painful to measure point-by-point.
What I wanted: drop the object on the floor next to a sheet of A4, take an iPhone photo from above, and get a scaled top-down image I can trace in Fusion 360. The existing tools each do half of it. Deskew tools (PerspectiveFix, PicFix) pull four corners to a rectangle but the output has no real-world scale. Measurement tools (Toolschimp) calibrate against one reference line but don't correct perspective. MYOG's perspective corrector is the only one that does both, but it only accepts a single reference and can't fuse multiple datums.
Skwik lets you place as many reference objects as you want — rectangles (A4, A3, custom) and lines — each with known dimensions and a confidence score (1–5). The algorithm picks the highest-confidence rectangle as the primary homography reference, then uses every other datum as a weighted correction on the X/Y axes independently. Single warpPerspective call, output at exact px/mm scale.
No AI, no ML, no model downloads — just JavaScript and OpenCV's WASM build for the linear algebra. Images never leave the browser. Stack is Vue 3 + OpenCV.js + Konva.js. HEIC is converted in-browser via libheif WASM.
Full disclosure: I vibe-coded this with Claude and QA'd every screen myself. The algorithm is adapted from a design I iterated on; the glue code and UI are AI-assisted but manually verified end-to-end.
Extras I ended up needing: point-to-point measurement tool on the corrected image, toggleable mm grid overlay, and a scale bar that can be burned into the export when sharing the reference with someone else.
Source on Gitea (mirrored to GitHub). Happy to dig into the multi-datum weighting math if anyone's curious — the short version is that line datums contribute to each axis proportionally to their pixel alignment on that axis, while secondary rectangles contribute equally to both.
I do CAD work and constantly need dimensions for real objects — furniture, mechanical parts, custom brackets. Calipers handle simple shapes, but anything curved or weirdly profiled is painful to measure point-by-point.
What I wanted: drop the object on the floor next to a sheet of A4, take an iPhone photo from above, and get a scaled top-down image I can trace in Fusion 360. The existing tools each do half of it. Deskew tools (PerspectiveFix, PicFix) pull four corners to a rectangle but the output has no real-world scale. Measurement tools (Toolschimp) calibrate against one reference line but don't correct perspective. MYOG's perspective corrector is the only one that does both, but it only accepts a single reference and can't fuse multiple datums.
Skwik lets you place as many reference objects as you want — rectangles (A4, A3, custom) and lines — each with known dimensions and a confidence score (1–5). The algorithm picks the highest-confidence rectangle as the primary homography reference, then uses every other datum as a weighted correction on the X/Y axes independently. Single warpPerspective call, output at exact px/mm scale.
No AI, no ML, no model downloads — just JavaScript and OpenCV's WASM build for the linear algebra. Images never leave the browser. Stack is Vue 3 + OpenCV.js + Konva.js. HEIC is converted in-browser via libheif WASM.
Full disclosure: I vibe-coded this with Claude and QA'd every screen myself. The algorithm is adapted from a design I iterated on; the glue code and UI are AI-assisted but manually verified end-to-end.
Extras I ended up needing: point-to-point measurement tool on the corrected image, toggleable mm grid overlay, and a scale bar that can be burned into the export when sharing the reference with someone else.
Source on Gitea (mirrored to GitHub). Happy to dig into the multi-datum weighting math if anyone's curious — the short version is that line datums contribute to each axis proportionally to their pixel alignment on that axis, while secondary rectangles contribute equally to both.