{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8.html","relationshipResolution":"Resolve relative relationship URLs against relationshipURLBase; complete records and absolute URLs are in blocks.","title":"3. 实例掩码 · 实现代码","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8.html","markdown":"https://codingai-lec03.pages.dev/course/notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8.md","pages":[{"id":"reading-opening","title":"3. 实例掩码 · 实现代码","unit":"3. 实例掩码 · 实现代码","unitId":"notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8","chapter":"course","number":1}],"aliases":[{"oldId":"b-3008124e09990104556f1e6b","targetId":"b-3008124e09990104556f1e6b","page":"reading-opening","operation":"move","beforeSHA256":"ddf3568d0338b754fc16cebc1db88a677c1a74738b534f3ccc508b72e6f23a78","afterSHA256":"ddf3568d0338b754fc16cebc1db88a677c1a74738b534f3ccc508b72e6f23a78","reason":"Same source body in authored semantic page"},{"oldId":"b-21ff5c6d68f7dc80c787ce88","targetId":"b-21ff5c6d68f7dc80c787ce88","page":"reading-opening","operation":"move","beforeSHA256":"76ed8d35d49e15307904a9a40e0f5ebb7e3b010d7bd4584aa8439911fa3756b7","afterSHA256":"76ed8d35d49e15307904a9a40e0f5ebb7e3b010d7bd4584aa8439911fa3756b7","reason":"Same source body in authored semantic page"},{"oldId":"b-943018bcbdec80d497b844f3","targetId":"b-943018bcbdec80d497b844f3","page":"reading-opening","operation":"move","beforeSHA256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","afterSHA256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","reason":"Same source body in authored semantic page"},{"oldId":"b-f7a092b7b341b2b368d2131e","targetId":"b-f7a092b7b341b2b368d2131e","page":"reading-opening","operation":"move","beforeSHA256":"93fe7c165c595944c7af5b3abd9e50016526d59fcb6d412fbfb865bd208f77c4","afterSHA256":"93fe7c165c595944c7af5b3abd9e50016526d59fcb6d412fbfb865bd208f77c4","reason":"Same source body in authored semantic page"},{"oldId":"b-5578459e40c09337ab6e2507","targetId":"b-5578459e40c09337ab6e2507","page":"reading-opening","operation":"move","beforeSHA256":"96dd96d2531cb1da78a27a6c959e34c7f66be57ac18df1cb330ff1cd568bd51f","afterSHA256":"96dd96d2531cb1da78a27a6c959e34c7f66be57ac18df1cb330ff1cd568bd51f","reason":"Same source body in authored semantic page"}],"blocks":[{"id":"b-3008124e09990104556f1e6b","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8.html#b-3008124e09990104556f1e6b","content":"[LAB 03 · 空间信息：表示、采样与掩码](/course/notebooks/49a2c030eafa4e1db6fc4f1a08c3810a.html)","sha256":"ddf3568d0338b754fc16cebc1db88a677c1a74738b534f3ccc508b72e6f23a78","chapter":{"id":"course","title":"3. 实例掩码 · 实现代码"},"unit":{"id":"notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8","title":"3. 实例掩码 · 实现代码"},"page":{"id":"reading-opening","title":"3. 实例掩码 · 实现代码","number":1},"sectionTitle":"3. 实例掩码 · 实现代码","currentQuestion":"3. 实例掩码 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-21ff5c6d68f7dc80c787ce88","prerequisites":[],"relatedBlocks":[]},{"id":"b-21ff5c6d68f7dc80c787ce88","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8.html#b-21ff5c6d68f7dc80c787ce88","content":"# 3. 实例掩码 · 实现代码","sha256":"76ed8d35d49e15307904a9a40e0f5ebb7e3b010d7bd4584aa8439911fa3756b7","chapter":{"id":"course","title":"3. 实例掩码 · 实现代码"},"unit":{"id":"notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8","title":"3. 实例掩码 · 实现代码"},"page":{"id":"reading-opening","title":"3. 实例掩码 · 实现代码","number":1},"sectionTitle":"3. 实例掩码 · 实现代码","currentQuestion":"3. 实例掩码 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-3008124e09990104556f1e6b","nextBlock":"b-943018bcbdec80d497b844f3","prerequisites":[{"id":"b-3008124e09990104556f1e6b","url":"#b-3008124e09990104556f1e6b","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-943018bcbdec80d497b844f3","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8.html#b-943018bcbdec80d497b844f3","content":"按问题继续","sha256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","chapter":{"id":"course","title":"3. 实例掩码 · 实现代码"},"unit":{"id":"notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8","title":"3. 实例掩码 · 实现代码"},"page":{"id":"reading-opening","title":"3. 实例掩码 · 实现代码","number":1},"sectionTitle":"3. 实例掩码 · 实现代码","currentQuestion":"3. 实例掩码 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-21ff5c6d68f7dc80c787ce88","nextBlock":"b-f7a092b7b341b2b368d2131e","prerequisites":[{"id":"b-21ff5c6d68f7dc80c787ce88","url":"#b-21ff5c6d68f7dc80c787ce88","role":"section-title"},{"id":"b-3008124e09990104556f1e6b","url":"#b-3008124e09990104556f1e6b","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-f7a092b7b341b2b368d2131e","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8.html#b-f7a092b7b341b2b368d2131e","content":"同源场景标签、插值、信息碰撞的轻量解析代码","sha256":"93fe7c165c595944c7af5b3abd9e50016526d59fcb6d412fbfb865bd208f77c4","chapter":{"id":"course","title":"3. 实例掩码 · 实现代码"},"unit":{"id":"notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8","title":"3. 实例掩码 · 实现代码"},"page":{"id":"reading-opening","title":"3. 实例掩码 · 实现代码","number":1},"sectionTitle":"3. 实例掩码 · 实现代码","currentQuestion":"3. 实例掩码 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-943018bcbdec80d497b844f3","nextBlock":"b-5578459e40c09337ab6e2507","prerequisites":[{"id":"b-21ff5c6d68f7dc80c787ce88","url":"#b-21ff5c6d68f7dc80c787ce88","role":"section-title"},{"id":"b-3008124e09990104556f1e6b","url":"#b-3008124e09990104556f1e6b","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-5578459e40c09337ab6e2507","type":"pre","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8.html#b-5578459e40c09337ab6e2507","content":"```\n# 本格独立：先预测，再修改 x_image / 特征值，不用前格变量。\nimport math\nfeature = [0.,1.,2.,6.,7.]\ndef linear_at(x_image, stride, values):\n    u=x_image/stride\n    if not 0<=u<=len(values)-1:\n        raise ValueError('采样位置超出已有特征；请一起检查坐标与特征范围')\n    lo=math.floor(u); hi=min(lo+1,len(values)-1)\n    a=u-lo\n    return u,(1-a)*values[lo]+a*values[hi]\nassert linear_at(35,16,feature)==(2.1875,2.75)\nx_image, stride = 35.,16.\nu,value=linear_at(x_image,stride,feature)\nprint('原图x / stride =',u,'；线性插值 =',value)\nA=[[1.,0.],[1.,0.]];B=[[0.,1.],[0.,1.]]\ndef encode(m):\n    return sum(map(sum,m))/4, sum(r[0]-r[1] for r in m)/2\nfa,fb=encode(A),encode(B)\nprint('只留均值:',fa[0],fb[0])\nprint('增加左列−右列通道:',fa,fb)\nprint('均值各放大为2×2:',[[fa[0]]*2]*2,[[fb[0]]*2]*2)\nassert fa==(0.5,1.0) and fb==(0.5,-1.0)\n\n```","sha256":"96dd96d2531cb1da78a27a6c959e34c7f66be57ac18df1cb330ff1cd568bd51f","chapter":{"id":"course","title":"3. 实例掩码 · 实现代码"},"unit":{"id":"notebook-blocks/c29bd696d6a14697aec8bacd7fc5b1a8","title":"3. 实例掩码 · 实现代码"},"page":{"id":"reading-opening","title":"3. 实例掩码 · 实现代码","number":1},"sectionTitle":"3. 实例掩码 · 实现代码","currentQuestion":"3. 实例掩码 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-f7a092b7b341b2b368d2131e","nextBlock":null,"prerequisites":[{"id":"b-21ff5c6d68f7dc80c787ce88","url":"#b-21ff5c6d68f7dc80c787ce88","role":"section-title"},{"id":"b-3008124e09990104556f1e6b","url":"#b-3008124e09990104556f1e6b","role":"problem-context"}],"relatedBlocks":[]}]}
