<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[AI手部识别]]></title><description><![CDATA[<h2><a class="anchor-offset" name="说明"></a>说明</h2>
<p dir="auto">你可以使用以下AI积木自动地通过电脑的前置摄像头识别用户的手部：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/f6c88398-d3f7-4468-aea7-ce90c634338f.png" alt="blocks.png" class=" img-responsive img-markdown" width="2277" height="224" /></p>
<p dir="auto"> <br />
这个积木将接受3个输入参数：</p>
<ul>
<li>
<p dir="auto"><strong>输出表格</strong>：第一个输入让你可以选择一个表格，用于保存这个积木的输出。注意，当你把这个积木添加到代码编辑器时，将会自动创建一个新表格，如果需要，你可以更改表格的名称。请查阅下文，了解将写入到该表格的数据的有关信息。</p>
</li>
<li>
<p dir="auto"><strong>调试</strong>：如果该输入设为“是的”，那么手部轮廓将会像下图那样绘画在摄像头图像之上。注意，总共21个点将得到识别：手腕，然后5根手指每根4个点。这些点在左手将绘画为红点，右手为蓝点。</p>
</li>
</ul>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/5fa9316b-98a9-4002-8081-72a9e52f1416.png" width="600" style="margin-left:40px;border-radius:5px;border:1px solid #29622d" /></p>
<ul>
<li><strong>显示图像</strong>：如果该输入设为“是的”，那么来自摄像头的图像将在舞台上显示为背景。 如果该输入设为“不”，那么将不会显示图像，这将让程序运行得更快。如果你的程序只需要使用输出表格中的数据，那么你可以选择不显示图像。</li>
</ul>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="输出表格"></a>输出表格</h2>
<p dir="auto">当在摄像头图像中检测不到手部时，输出表格将为空。它包含以下7列。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/a8bf7f89-e583-42cf-841c-bd77fd0acfeb.png" alt="Screen Shot 2023-02-27 at 3.10.24 PM.png" class=" img-responsive img-markdown" width="854" height="612" /></p>
<p dir="auto">当检测到一只手时，将有47行数据填充到表格内。如果检测到2只手，另外47行数据将添加到下方，共有94行。</p>
<p dir="auto">对于每一只手，都有3种类型的数据，每一种类型均使用不同的列子集：</p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="手指姿势"></a>手指姿势</h2>
<p dir="auto">对于每一只手，前5行包含了每一只手指的曲度和方向。 <strong>对于大部分简单的用例，这5行包含了足够的信息。</strong></p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/fe7c03b0-f69d-4f2c-9ad1-2c8b3d902953.png" width="800" style="border-radius:5px;border:1px solid #29622d" /><br />
 <br />
只有4列数据填充到了这5行：</p>
<ul>
<li><strong>手</strong>：这一列将告诉你这是左手还是右手。<br />
 </li>
<li><strong>部位</strong>：这一列将告诉你该行描述的是哪一根手指。<br />
 </li>
<li><strong>曲度</strong>：这是手指弯曲的角度。它应该是一个介于0和180之间的数字。例如，对于食指，当它伸直时，曲度为180度。随着你的手指不断弯曲，该角度将减小至大约40度。</li>
</ul>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/9a0e283a-a4de-42c2-8cfd-25faf3d40a66.gif" width="480" style="margin-left:40px;border-radius:5px;border:1px solid #29622d" /><br />
 </p>
<ul>
<li><strong>方向</strong>：这是手指指向的方向。它使用和运动积木“面相…方向”相同的方向系统。例如，当手指指向上方时，方向约为0度。当手指指向右方时，方向约为90度。对于左边方向，则约为-90度。对于向下的方向，则约为180或-180度。当然，实际的方向值不一定精确，因为你的程序需要检查该值是否位于一个范围之内。例如，如果方向大于-30或小于30，那么你可以把它看成是指向上方。</li>
</ul>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/89fd5162-a072-4039-975f-fdec46ebb8b0.gif" width="480" style="margin-left:40px;border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="舞台上的二维手指位置"></a>舞台上的二维手指位置</h2>
<p dir="auto">在手指姿势的5行数据下方，有21行的数据描述21个点的X位置和Y位置。填充数据的4列为：</p>
<ul>
<li><strong>手</strong>：这一列将告诉你这是左手还是右手。<br />
 </li>
<li><strong>部位</strong>：这一列告诉你这一行描述的是21个点中的哪一个。第一行是“手腕”点，然后5根手指中的每一根都有4行数据。例如，对于拇指，从下到上的4点为“拇指1”、“拇指2”、“拇指3”以及“拇指4”。</li>
</ul>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/a9223d6c-db55-484f-907f-7b5e82f1e258.PNG" width="700" style="margin-left:40px;border-radius:5px;border:1px solid #29622d" /></p>
<ul>
<li><strong>X</strong>和<strong>Y</strong>：这些数值使用和角色相同的位置系统，即舞台的中心为X = 0，Y = 0。例如，在下图中，手腕位于舞台底部的中央位置，因此其X位置约为0，其Y位置约为-180。</li>
</ul>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/345999ba-e8f9-4000-96b3-431414dfd6a1.PNG" width="480" style="margin-left:40px;border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="舞台上的三维手指位置"></a>舞台上的三维手指位置</h2>
<p dir="auto">在21行的二维手指位置数据下方，有另外21行的数据描述同样的21个点的三维位置。填充数据的5列为：</p>
<ul>
<li><strong>手</strong>：这一列将告诉你这是左手还是右手。<br />
 </li>
<li><strong>部位</strong>：这一列告诉你这一行描述的是21个点中的哪一个。<br />
 </li>
<li><strong>X</strong>/<strong>Y</strong>/<strong>Z</strong>：这些数值使用三维位置系统。如果你用一个小盒子来表示每一个点，那么当你向前伸手时，这些盒子将形成面向前方（和你的真实手部相同的方向）的三维手部：</li>
</ul>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/cd26fa21-80c0-49a0-9f0c-ed05dae4d5c6.gif" width="480" style="margin-left:40px;border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> <br />
你可以打开以下链接，尝试运行演示项目：</p>
<p dir="auto"><a href="https://play.creaticode.com/projects/ef0d19a26944613ac1805db7" target="_blank">https://play.creaticode.com/projects/ef0d19a26944613ac1805db7</a><br /> <br />
<iframe src="https://play.creaticode.com/projects/ef0d19a26944613ac1805db7/embed" width="485" height="402" allowfullscreen></iframe></p>
]]></description><link>https://forum.creaticode.com/topic/836/ai手部识别</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 21:03:51 GMT</lastBuildDate><atom:link href="https://forum.creaticode.com/topic/836.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 27 Feb 2023 06:42:22 GMT</pubDate><ttl>60</ttl></channel></rss>