[{"data":1,"prerenderedAt":97},["ShallowReactive",2],{"notebook-normalizing-camera-coordinates":3},{"id":4,"title":5,"algorithms":6,"author":8,"body":9,"canonical_url":66,"description":57,"experiment_id":67,"extension":68,"kind":69,"languages":70,"maturity":72,"meta":73,"modified":74,"navigation":75,"path":76,"projects":77,"published":74,"relations":79,"repository_commit":83,"seo":84,"slug":85,"stem":86,"summary":87,"tags":88,"technologies":91,"topics":93,"__hash__":96},"notebook\u002Fnotebook\u002Fnormalizing-camera-coordinates.md","Normalize camera coordinates before blaming calibration",[7],"perspective-projection","Lucas Aruodore Adomi",{"type":10,"value":11,"toc":56},"minimark",[12,17,21,25,28,32,35,39,49,53],[13,14,16],"h2",{"id":15},"context","Context",[18,19,20],"p",{},"Reprojection error increased toward the edge of the frame. The initial hypothesis was that the intrinsic calibration had drifted.",[13,22,24],{"id":23},"observation","Observation",[18,26,27],{},"The predicted points were normalized pinhole coordinates. The observed points were distorted pixels. Their difference had no coherent geometric meaning.",[13,29,31],{"id":30},"experiment","Experiment",[18,33,34],{},"Undistorting the observations and converting both arrays into normalized camera coordinates removed the radial error pattern. The remaining residual was small and spatially unstructured.",[13,36,38],{"id":37},"questions","Questions",[40,41,42,46],"ul",{},[43,44,45],"li",{},"Should the residual interface encode its coordinate frame in the type name?",[43,47,48],{},"Is pixel-space reporting still useful after the optimization finishes?",[13,50,52],{"id":51},"next-steps","Next steps",[18,54,55],{},"Add coordinate-frame assertions at the projection boundary and plot both normalized and pixel residuals in the calibration report.",{"title":57,"searchDepth":58,"depth":58,"links":59},"",3,[60,62,63,64,65],{"id":15,"depth":61,"text":16},2,{"id":23,"depth":61,"text":24},{"id":30,"depth":61,"text":31},{"id":37,"depth":61,"text":38},{"id":51,"depth":61,"text":52},"https:\u002F\u002Fjournal.aruodore.com\u002Fnotebook\u002Fnormalizing-camera-coordinates","exp-2026-08-02-camera-01","md","bug",[71],"python","verified",{},"2026-08-02",true,"\u002Fnotebook\u002Fnormalizing-camera-coordinates",[78],"vision-geometry",[80],{"type":81,"target":82},"develops","blog:2026:geometry-of-image-formation",null,{"title":5,"description":57},"normalizing-camera-coordinates","notebook\u002Fnormalizing-camera-coordinates","A pixel-space residual looked like calibration drift, but the comparison mixed normalized and distorted coordinates.",[89,90],"camera-models","debugging",[92],"opencv",[94,95],"computer-vision","geometry","s--hFbit922dJHtD3TC6o1R6XcWzuHVLzXJzNw7-a8U",1785815463870]