Update documentation
This commit is contained in:
parent
e8ac3e810a
commit
8cee0ec6f5
4 changed files with 49 additions and 1 deletions
BIN
_images/6x6_1000-0.png
Normal file
BIN
_images/6x6_1000-0.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
|
@ -50,4 +50,30 @@ In diesem Programm werden die ArUco Marker, die sich am Spielfeld befinden, erka
|
|||
|
||||
Hier ist z.B. der ArUco Marker mit der ID 0. Führe das Programm aus und lass den Roboter auf den Bildschirm schauen. Das Programm sollte die 2D Position ausgeben, welcher der ArUco Marker (genauer sein Mittelpunkt) im Camera Bild hat.
|
||||
|
||||
|ArucoExample|
|
||||
|
||||
.. |ArucoExample| image:: images/6x6_1000-0.png
|
||||
|
||||
Um die Positionen zu verarbeiten, muss dann nur noch das "markers" array durchgegangen werden. Das könnte z.B. so gemacht werden:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from compLib.Camera import *
|
||||
|
||||
camera = Camera()
|
||||
while True:
|
||||
image = camera.get_frame()
|
||||
|
||||
markers, image = camera.detect_markers_midpoint(image)
|
||||
print(markers)
|
||||
print("-----------------")
|
||||
|
||||
for marker in markers:
|
||||
print(f"Marker mit der id: {marker.id}")
|
||||
print(f"Ist auf der X Position: {marker.x}")
|
||||
print(f"und auf der Y Position: {marker.y}")
|
||||
print("-----------------")
|
||||
|
||||
camera.publish_frame(image)
|
||||
|
||||
Wichtig ist noch zu beachten, dass die X und Y Positionen ihren Ursprung in der linken oberen Ecke des Bildes haben. D.h. die Position (0,0) ist im oberen linken Bildrand.
|
||||
|
|
|
@ -205,6 +205,28 @@
|
|||
</pre></div>
|
||||
</div>
|
||||
<p>Hier ist z.B. der ArUco Marker mit der ID 0. Führe das Programm aus und lass den Roboter auf den Bildschirm schauen. Das Programm sollte die 2D Position ausgeben, welcher der ArUco Marker (genauer sein Mittelpunkt) im Camera Bild hat.</p>
|
||||
<p><img alt="ArucoExample" src="../../_images/6x6_1000-0.png" /></p>
|
||||
<p>Um die Positionen zu verarbeiten, muss dann nur noch das „markers“ array durchgegangen werden. Das könnte z.B. so gemacht werden:</p>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">compLib.Camera</span> <span class="kn">import</span> <span class="o">*</span>
|
||||
|
||||
<span class="n">camera</span> <span class="o">=</span> <span class="n">Camera</span><span class="p">()</span>
|
||||
<span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
|
||||
<span class="n">image</span> <span class="o">=</span> <span class="n">camera</span><span class="o">.</span><span class="n">get_frame</span><span class="p">()</span>
|
||||
|
||||
<span class="n">markers</span><span class="p">,</span> <span class="n">image</span> <span class="o">=</span> <span class="n">camera</span><span class="o">.</span><span class="n">detect_markers_midpoint</span><span class="p">(</span><span class="n">image</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">markers</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"-----------------"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">marker</span> <span class="ow">in</span> <span class="n">markers</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Marker mit der id: </span><span class="si">{</span><span class="n">marker</span><span class="o">.</span><span class="n">id</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Ist auf der X Position: </span><span class="si">{</span><span class="n">marker</span><span class="o">.</span><span class="n">x</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"und auf der Y Position: </span><span class="si">{</span><span class="n">marker</span><span class="o">.</span><span class="n">y</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"-----------------"</span><span class="p">)</span>
|
||||
|
||||
<span class="n">camera</span><span class="o">.</span><span class="n">publish_frame</span><span class="p">(</span><span class="n">image</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Wichtig ist noch zu beachten, dass die X und Y Positionen ihren Ursprung in der linken oberen Ecke des Bildes haben. D.h. die Position (0,0) ist im oberen linken Bildrand.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
File diff suppressed because one or more lines are too long
Reference in a new issue