From d777e0c20af8484d130a05e9c18a9ff8b50d9e66 Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Sun, 21 May 2023 15:54:15 +0200 Subject: research --- RealTime_pictures/rtCorner.class/00000.jpg | Bin 0 -> 7551 bytes RealTime_pictures/rtCorner.class/00001.jpg | Bin 0 -> 7317 bytes RealTime_pictures/rtCorner.class/00002.jpg | Bin 0 -> 7301 bytes RealTime_pictures/rtCorner.class/00003.jpg | Bin 0 -> 6684 bytes RealTime_pictures/rtCorner.class/00004.jpg | Bin 0 -> 6520 bytes RealTime_pictures/rtCorner.class/00005.jpg | Bin 0 -> 7521 bytes RealTime_pictures/rtCorner.class/00006.jpg | Bin 0 -> 13805 bytes RealTime_pictures/rtCorner.class/00007.jpg | Bin 0 -> 13526 bytes RealTime_pictures/rtCorner.class/00008.jpg | Bin 0 -> 13310 bytes RealTime_pictures/rtCorner.class/00009.jpg | Bin 0 -> 12758 bytes RealTime_pictures/rtCorner.class/00010.jpg | Bin 0 -> 12662 bytes RealTime_pictures/rtCorner.class/00011.jpg | Bin 0 -> 12478 bytes RealTime_pictures/rtCorner.class/00012.jpg | Bin 0 -> 11974 bytes RealTime_pictures/rtCorner.class/00013.jpg | Bin 0 -> 15354 bytes RealTime_pictures/rtIntersection.class/00000.jpg | Bin 0 -> 8258 bytes RealTime_pictures/rtIntersection.class/00001.jpg | Bin 0 -> 7678 bytes RealTime_pictures/rtIntersection.class/00002.jpg | Bin 0 -> 7789 bytes RealTime_pictures/rtIntersection.class/00003.jpg | Bin 0 -> 12968 bytes RealTime_pictures/rtIntersection.class/00004.jpg | Bin 0 -> 13341 bytes RealTime_pictures/rtIntersection.class/00005.jpg | Bin 0 -> 14312 bytes RealTime_pictures/rtIntersection.class/00006.jpg | Bin 0 -> 14386 bytes RealTime_pictures/rtIntersection.class/00007.jpg | Bin 0 -> 16976 bytes RealTime_pictures/rtIntersection.class/00008.jpg | Bin 0 -> 14273 bytes RealTime_pictures/rtStraightLines.class/00000.jpg | Bin 0 -> 10879 bytes RealTime_pictures/rtStraightLines.class/00001.jpg | Bin 0 -> 10915 bytes RealTime_pictures/rtStraightLines.class/00002.jpg | Bin 0 -> 10925 bytes RealTime_pictures/rtStraightLines.class/00003.jpg | Bin 0 -> 9124 bytes RealTime_pictures/rtStraightLines.class/00004.jpg | Bin 0 -> 9062 bytes RealTime_pictures/rtStraightLines.class/00005.jpg | Bin 0 -> 10978 bytes RealTime_pictures/rtStraightLines.class/00006.jpg | Bin 0 -> 10785 bytes RealTime_pictures/rtStraightLines.class/00007.jpg | Bin 0 -> 8198 bytes RealTime_pictures/rtStraightLines.class/00008.jpg | Bin 0 -> 7884 bytes RealTime_pictures/rtStraightLines.class/00009.jpg | Bin 0 -> 7560 bytes RealTime_pictures/rtStraightLines.class/00010.jpg | Bin 0 -> 7445 bytes RealTime_pictures/rtStraightLines.class/00011.jpg | Bin 0 -> 18652 bytes RealTime_pictures/rtStraightLines.class/00012.jpg | Bin 0 -> 15328 bytes RealTime_pictures/rtStraightLines.class/00013.jpg | Bin 0 -> 15455 bytes RealTime_pictures/rtStraightLines.class/00014.jpg | Bin 0 -> 11357 bytes RealTime_pictures/rtStraightLines.class/00015.jpg | Bin 0 -> 10951 bytes RealTime_pictures/rtStraightLines.class/00016.jpg | Bin 0 -> 7599 bytes RealTime_pictures/rtStraightLines.class/00017.jpg | Bin 0 -> 7705 bytes RealTime_pictures/rtStraightLines.class/00018.jpg | Bin 0 -> 16231 bytes RealTime_pictures/rtStraightLines.class/00019.jpg | Bin 0 -> 16725 bytes RealTime_pictures/rtWrongCorner.class/00000.jpg | Bin 0 -> 12378 bytes RealTime_pictures/rtWrongCorner.class/00001.jpg | Bin 0 -> 12925 bytes RealTime_pictures/rtWrongCorner.class/00002.jpg | Bin 0 -> 11356 bytes RealTime_pictures/rtWrongCorner.class/00003.jpg | Bin 0 -> 8574 bytes RealTime_pictures/rtWrongCorner.class/00004.jpg | Bin 0 -> 12059 bytes RealTime_pictures/rtWrongCorner.class/00005.jpg | Bin 0 -> 14825 bytes RealTime_pictures/rtWrongCorner.class/00006.jpg | Bin 0 -> 13316 bytes RealTime_pictures/rtWrongCorner.class/00007.jpg | Bin 0 -> 10868 bytes RealTime_pictures/rtWrongCorner.class/00008.jpg | Bin 0 -> 15580 bytes RealTime_pictures/rtWrongCorner.class/00009.jpg | Bin 0 -> 12635 bytes RealTime_pictures/rtWrongCorner.class/00010.jpg | Bin 0 -> 12163 bytes .../rtWrongIntersection.class/00000.jpg | Bin 0 -> 12658 bytes .../rtWrongIntersection.class/00001.jpg | Bin 0 -> 13233 bytes .../rtWrongIntersection.class/00002.jpg | Bin 0 -> 11826 bytes .../rtWrongStraightLines.class/00000.jpg | Bin 0 -> 13483 bytes .../rtWrongStraightLines.class/00001.jpg | Bin 0 -> 17200 bytes .../rtWrongStraightLines.class/00002.jpg | Bin 0 -> 13989 bytes .../rtWrongStraightLines.class/00003.jpg | Bin 0 -> 13768 bytes .../rtWrongStraightLines.class/00004.jpg | Bin 0 -> 13791 bytes .../rtWrongStraightLines.class/00005.jpg | Bin 0 -> 13563 bytes .../rtWrongStraightLines.class/00006.jpg | Bin 0 -> 16160 bytes .../rtWrongStraightLines.class/00007.jpg | Bin 0 -> 11266 bytes .../rtWrongStraightLines.class/00008.jpg | Bin 0 -> 12132 bytes .../rtWrongStraightLines.class/00009.jpg | Bin 0 -> 12170 bytes .../rtWrongStraightLines.class/00010.jpg | Bin 0 -> 13479 bytes .../rtWrongStraightLines.class/00011.jpg | Bin 0 -> 11710 bytes doc/assets/LSD_straightLines_Pic_0.bmp | Bin 0 -> 72054 bytes doc/assets/LSD_straightLines_Pic_1.bmp | Bin 0 -> 72054 bytes doc/assets/hough_straightLines_Pic_0.bmp | Bin 0 -> 76854 bytes doc/assets/hough_straightLines_Pic_1.bmp | Bin 0 -> 76854 bytes doc/dui.md | 101 +++++++++++++++++++++ 74 files changed, 101 insertions(+) create mode 100644 RealTime_pictures/rtCorner.class/00000.jpg create mode 100644 RealTime_pictures/rtCorner.class/00001.jpg create mode 100644 RealTime_pictures/rtCorner.class/00002.jpg create mode 100644 RealTime_pictures/rtCorner.class/00003.jpg create mode 100644 RealTime_pictures/rtCorner.class/00004.jpg create mode 100644 RealTime_pictures/rtCorner.class/00005.jpg create mode 100644 RealTime_pictures/rtCorner.class/00006.jpg create mode 100644 RealTime_pictures/rtCorner.class/00007.jpg create mode 100644 RealTime_pictures/rtCorner.class/00008.jpg create mode 100644 RealTime_pictures/rtCorner.class/00009.jpg create mode 100644 RealTime_pictures/rtCorner.class/00010.jpg create mode 100644 RealTime_pictures/rtCorner.class/00011.jpg create mode 100644 RealTime_pictures/rtCorner.class/00012.jpg create mode 100644 RealTime_pictures/rtCorner.class/00013.jpg create mode 100644 RealTime_pictures/rtIntersection.class/00000.jpg create mode 100644 RealTime_pictures/rtIntersection.class/00001.jpg create mode 100644 RealTime_pictures/rtIntersection.class/00002.jpg create mode 100644 RealTime_pictures/rtIntersection.class/00003.jpg create mode 100644 RealTime_pictures/rtIntersection.class/00004.jpg create mode 100644 RealTime_pictures/rtIntersection.class/00005.jpg create mode 100644 RealTime_pictures/rtIntersection.class/00006.jpg create mode 100644 RealTime_pictures/rtIntersection.class/00007.jpg create mode 100644 RealTime_pictures/rtIntersection.class/00008.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00000.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00001.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00002.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00003.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00004.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00005.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00006.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00007.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00008.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00009.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00010.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00011.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00012.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00013.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00014.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00015.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00016.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00017.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00018.jpg create mode 100644 RealTime_pictures/rtStraightLines.class/00019.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00000.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00001.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00002.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00003.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00004.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00005.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00006.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00007.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00008.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00009.jpg create mode 100644 RealTime_pictures/rtWrongCorner.class/00010.jpg create mode 100644 RealTime_pictures/rtWrongIntersection.class/00000.jpg create mode 100644 RealTime_pictures/rtWrongIntersection.class/00001.jpg create mode 100644 RealTime_pictures/rtWrongIntersection.class/00002.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00000.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00001.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00002.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00003.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00004.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00005.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00006.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00007.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00008.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00009.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00010.jpg create mode 100644 RealTime_pictures/rtWrongStraightLines.class/00011.jpg create mode 100644 doc/assets/LSD_straightLines_Pic_0.bmp create mode 100644 doc/assets/LSD_straightLines_Pic_1.bmp create mode 100644 doc/assets/hough_straightLines_Pic_0.bmp create mode 100644 doc/assets/hough_straightLines_Pic_1.bmp diff --git a/RealTime_pictures/rtCorner.class/00000.jpg b/RealTime_pictures/rtCorner.class/00000.jpg new file mode 100644 index 0000000..884aa69 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00000.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00001.jpg b/RealTime_pictures/rtCorner.class/00001.jpg new file mode 100644 index 0000000..3398cc4 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00001.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00002.jpg b/RealTime_pictures/rtCorner.class/00002.jpg new file mode 100644 index 0000000..01662f9 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00002.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00003.jpg b/RealTime_pictures/rtCorner.class/00003.jpg new file mode 100644 index 0000000..5cee200 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00003.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00004.jpg b/RealTime_pictures/rtCorner.class/00004.jpg new file mode 100644 index 0000000..4be7be9 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00004.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00005.jpg b/RealTime_pictures/rtCorner.class/00005.jpg new file mode 100644 index 0000000..2347c3a Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00005.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00006.jpg b/RealTime_pictures/rtCorner.class/00006.jpg new file mode 100644 index 0000000..6252806 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00006.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00007.jpg b/RealTime_pictures/rtCorner.class/00007.jpg new file mode 100644 index 0000000..344d5f3 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00007.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00008.jpg b/RealTime_pictures/rtCorner.class/00008.jpg new file mode 100644 index 0000000..92ecbf0 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00008.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00009.jpg b/RealTime_pictures/rtCorner.class/00009.jpg new file mode 100644 index 0000000..2956e4a Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00009.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00010.jpg b/RealTime_pictures/rtCorner.class/00010.jpg new file mode 100644 index 0000000..f62bed6 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00010.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00011.jpg b/RealTime_pictures/rtCorner.class/00011.jpg new file mode 100644 index 0000000..d09c141 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00011.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00012.jpg b/RealTime_pictures/rtCorner.class/00012.jpg new file mode 100644 index 0000000..8803827 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00012.jpg differ diff --git a/RealTime_pictures/rtCorner.class/00013.jpg b/RealTime_pictures/rtCorner.class/00013.jpg new file mode 100644 index 0000000..7ec2692 Binary files /dev/null and b/RealTime_pictures/rtCorner.class/00013.jpg differ diff --git a/RealTime_pictures/rtIntersection.class/00000.jpg b/RealTime_pictures/rtIntersection.class/00000.jpg new file mode 100644 index 0000000..9492866 Binary files /dev/null and b/RealTime_pictures/rtIntersection.class/00000.jpg differ diff --git a/RealTime_pictures/rtIntersection.class/00001.jpg b/RealTime_pictures/rtIntersection.class/00001.jpg new file mode 100644 index 0000000..43b0840 Binary files /dev/null and b/RealTime_pictures/rtIntersection.class/00001.jpg differ diff --git a/RealTime_pictures/rtIntersection.class/00002.jpg b/RealTime_pictures/rtIntersection.class/00002.jpg new file mode 100644 index 0000000..4e47b44 Binary files /dev/null and b/RealTime_pictures/rtIntersection.class/00002.jpg differ diff --git a/RealTime_pictures/rtIntersection.class/00003.jpg b/RealTime_pictures/rtIntersection.class/00003.jpg new file mode 100644 index 0000000..fab7ba2 Binary files /dev/null and b/RealTime_pictures/rtIntersection.class/00003.jpg differ diff --git a/RealTime_pictures/rtIntersection.class/00004.jpg b/RealTime_pictures/rtIntersection.class/00004.jpg new file mode 100644 index 0000000..4abc6b5 Binary files /dev/null and b/RealTime_pictures/rtIntersection.class/00004.jpg differ diff --git a/RealTime_pictures/rtIntersection.class/00005.jpg b/RealTime_pictures/rtIntersection.class/00005.jpg new file mode 100644 index 0000000..9f3b772 Binary files /dev/null and b/RealTime_pictures/rtIntersection.class/00005.jpg differ diff --git a/RealTime_pictures/rtIntersection.class/00006.jpg b/RealTime_pictures/rtIntersection.class/00006.jpg new file mode 100644 index 0000000..faf18c0 Binary files /dev/null and b/RealTime_pictures/rtIntersection.class/00006.jpg differ diff --git a/RealTime_pictures/rtIntersection.class/00007.jpg b/RealTime_pictures/rtIntersection.class/00007.jpg new file mode 100644 index 0000000..0bd1a42 Binary files /dev/null and b/RealTime_pictures/rtIntersection.class/00007.jpg differ diff --git a/RealTime_pictures/rtIntersection.class/00008.jpg b/RealTime_pictures/rtIntersection.class/00008.jpg new file mode 100644 index 0000000..621b9cb Binary files /dev/null and b/RealTime_pictures/rtIntersection.class/00008.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00000.jpg b/RealTime_pictures/rtStraightLines.class/00000.jpg new file mode 100644 index 0000000..a1dcf45 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00000.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00001.jpg b/RealTime_pictures/rtStraightLines.class/00001.jpg new file mode 100644 index 0000000..2600e8c Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00001.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00002.jpg b/RealTime_pictures/rtStraightLines.class/00002.jpg new file mode 100644 index 0000000..3862ec1 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00002.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00003.jpg b/RealTime_pictures/rtStraightLines.class/00003.jpg new file mode 100644 index 0000000..28e284f Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00003.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00004.jpg b/RealTime_pictures/rtStraightLines.class/00004.jpg new file mode 100644 index 0000000..dfb5be6 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00004.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00005.jpg b/RealTime_pictures/rtStraightLines.class/00005.jpg new file mode 100644 index 0000000..8ee04d3 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00005.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00006.jpg b/RealTime_pictures/rtStraightLines.class/00006.jpg new file mode 100644 index 0000000..6adc035 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00006.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00007.jpg b/RealTime_pictures/rtStraightLines.class/00007.jpg new file mode 100644 index 0000000..87f223d Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00007.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00008.jpg b/RealTime_pictures/rtStraightLines.class/00008.jpg new file mode 100644 index 0000000..b14554e Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00008.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00009.jpg b/RealTime_pictures/rtStraightLines.class/00009.jpg new file mode 100644 index 0000000..c5b474b Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00009.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00010.jpg b/RealTime_pictures/rtStraightLines.class/00010.jpg new file mode 100644 index 0000000..d3cafcf Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00010.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00011.jpg b/RealTime_pictures/rtStraightLines.class/00011.jpg new file mode 100644 index 0000000..c1f8fcf Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00011.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00012.jpg b/RealTime_pictures/rtStraightLines.class/00012.jpg new file mode 100644 index 0000000..7980cf8 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00012.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00013.jpg b/RealTime_pictures/rtStraightLines.class/00013.jpg new file mode 100644 index 0000000..da59693 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00013.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00014.jpg b/RealTime_pictures/rtStraightLines.class/00014.jpg new file mode 100644 index 0000000..56f37de Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00014.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00015.jpg b/RealTime_pictures/rtStraightLines.class/00015.jpg new file mode 100644 index 0000000..9fe7082 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00015.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00016.jpg b/RealTime_pictures/rtStraightLines.class/00016.jpg new file mode 100644 index 0000000..6c62b59 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00016.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00017.jpg b/RealTime_pictures/rtStraightLines.class/00017.jpg new file mode 100644 index 0000000..23596e6 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00017.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00018.jpg b/RealTime_pictures/rtStraightLines.class/00018.jpg new file mode 100644 index 0000000..a66742e Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00018.jpg differ diff --git a/RealTime_pictures/rtStraightLines.class/00019.jpg b/RealTime_pictures/rtStraightLines.class/00019.jpg new file mode 100644 index 0000000..23af171 Binary files /dev/null and b/RealTime_pictures/rtStraightLines.class/00019.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00000.jpg b/RealTime_pictures/rtWrongCorner.class/00000.jpg new file mode 100644 index 0000000..9c1b0e1 Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00000.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00001.jpg b/RealTime_pictures/rtWrongCorner.class/00001.jpg new file mode 100644 index 0000000..2ec349b Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00001.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00002.jpg b/RealTime_pictures/rtWrongCorner.class/00002.jpg new file mode 100644 index 0000000..c150ac6 Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00002.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00003.jpg b/RealTime_pictures/rtWrongCorner.class/00003.jpg new file mode 100644 index 0000000..419f645 Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00003.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00004.jpg b/RealTime_pictures/rtWrongCorner.class/00004.jpg new file mode 100644 index 0000000..3b37b05 Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00004.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00005.jpg b/RealTime_pictures/rtWrongCorner.class/00005.jpg new file mode 100644 index 0000000..c1a0e63 Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00005.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00006.jpg b/RealTime_pictures/rtWrongCorner.class/00006.jpg new file mode 100644 index 0000000..28964c5 Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00006.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00007.jpg b/RealTime_pictures/rtWrongCorner.class/00007.jpg new file mode 100644 index 0000000..a7fd550 Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00007.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00008.jpg b/RealTime_pictures/rtWrongCorner.class/00008.jpg new file mode 100644 index 0000000..6ea7ffe Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00008.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00009.jpg b/RealTime_pictures/rtWrongCorner.class/00009.jpg new file mode 100644 index 0000000..44183bf Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00009.jpg differ diff --git a/RealTime_pictures/rtWrongCorner.class/00010.jpg b/RealTime_pictures/rtWrongCorner.class/00010.jpg new file mode 100644 index 0000000..ca5786f Binary files /dev/null and b/RealTime_pictures/rtWrongCorner.class/00010.jpg differ diff --git a/RealTime_pictures/rtWrongIntersection.class/00000.jpg b/RealTime_pictures/rtWrongIntersection.class/00000.jpg new file mode 100644 index 0000000..cb5e29e Binary files /dev/null and b/RealTime_pictures/rtWrongIntersection.class/00000.jpg differ diff --git a/RealTime_pictures/rtWrongIntersection.class/00001.jpg b/RealTime_pictures/rtWrongIntersection.class/00001.jpg new file mode 100644 index 0000000..a316eb7 Binary files /dev/null and b/RealTime_pictures/rtWrongIntersection.class/00001.jpg differ diff --git a/RealTime_pictures/rtWrongIntersection.class/00002.jpg b/RealTime_pictures/rtWrongIntersection.class/00002.jpg new file mode 100644 index 0000000..f4275fb Binary files /dev/null and b/RealTime_pictures/rtWrongIntersection.class/00002.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00000.jpg b/RealTime_pictures/rtWrongStraightLines.class/00000.jpg new file mode 100644 index 0000000..0ce2ce0 Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00000.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00001.jpg b/RealTime_pictures/rtWrongStraightLines.class/00001.jpg new file mode 100644 index 0000000..457bd03 Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00001.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00002.jpg b/RealTime_pictures/rtWrongStraightLines.class/00002.jpg new file mode 100644 index 0000000..70edd62 Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00002.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00003.jpg b/RealTime_pictures/rtWrongStraightLines.class/00003.jpg new file mode 100644 index 0000000..55cb071 Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00003.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00004.jpg b/RealTime_pictures/rtWrongStraightLines.class/00004.jpg new file mode 100644 index 0000000..ff56176 Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00004.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00005.jpg b/RealTime_pictures/rtWrongStraightLines.class/00005.jpg new file mode 100644 index 0000000..c7a8f8a Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00005.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00006.jpg b/RealTime_pictures/rtWrongStraightLines.class/00006.jpg new file mode 100644 index 0000000..3b64636 Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00006.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00007.jpg b/RealTime_pictures/rtWrongStraightLines.class/00007.jpg new file mode 100644 index 0000000..3cf1031 Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00007.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00008.jpg b/RealTime_pictures/rtWrongStraightLines.class/00008.jpg new file mode 100644 index 0000000..ec748ba Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00008.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00009.jpg b/RealTime_pictures/rtWrongStraightLines.class/00009.jpg new file mode 100644 index 0000000..62e4096 Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00009.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00010.jpg b/RealTime_pictures/rtWrongStraightLines.class/00010.jpg new file mode 100644 index 0000000..e75983e Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00010.jpg differ diff --git a/RealTime_pictures/rtWrongStraightLines.class/00011.jpg b/RealTime_pictures/rtWrongStraightLines.class/00011.jpg new file mode 100644 index 0000000..cf3a53f Binary files /dev/null and b/RealTime_pictures/rtWrongStraightLines.class/00011.jpg differ diff --git a/doc/assets/LSD_straightLines_Pic_0.bmp b/doc/assets/LSD_straightLines_Pic_0.bmp new file mode 100644 index 0000000..54018e2 Binary files /dev/null and b/doc/assets/LSD_straightLines_Pic_0.bmp differ diff --git a/doc/assets/LSD_straightLines_Pic_1.bmp b/doc/assets/LSD_straightLines_Pic_1.bmp new file mode 100644 index 0000000..6a7832f Binary files /dev/null and b/doc/assets/LSD_straightLines_Pic_1.bmp differ diff --git a/doc/assets/hough_straightLines_Pic_0.bmp b/doc/assets/hough_straightLines_Pic_0.bmp new file mode 100644 index 0000000..00a5263 Binary files /dev/null and b/doc/assets/hough_straightLines_Pic_0.bmp differ diff --git a/doc/assets/hough_straightLines_Pic_1.bmp b/doc/assets/hough_straightLines_Pic_1.bmp new file mode 100644 index 0000000..d72285d Binary files /dev/null and b/doc/assets/hough_straightLines_Pic_1.bmp differ diff --git a/doc/dui.md b/doc/dui.md index ede73c8..d39e3bf 100644 --- a/doc/dui.md +++ b/doc/dui.md @@ -19,6 +19,104 @@ The following is the original project description (translated to English): # Research +## Detecting lines + +The Zumo robot needs to drive in a road map-like environment where it needs to act like a car. With the nicla vision camera, there needs to be a way for detecting lines in every frame to make the Zumo robot ride between the lines. Read lines from an image there are different algorithms to make it work. We need to make sure that it works on the OpenMV program if we only choose this one. In this research, two techniques are researched: convolution-based and feature-based. + +### Different line detection algorithms. + +#### Hough Transform + +This is a popular algorithm used to detect straight lines in an image. It works by transforming the image from Cartesian space to Hough space, where lines are represented as points. The algorithm then looks for clusters of points in Hough space, which correspond to lines in Cartesian space. + +For more information about Hough Transform algorithms check the below links: + +- [Wiki hough](https://en.wikipedia.org/wiki/Hough_transform ) +- [Science article](https://www.sciencedirect.com/topics/computer-science/hough-transforms) +- [OpenCV Hough](https://docs.opencv.org/3.4/d9/db0/tutorial_hough_lines.html) +- [OpenMV find_lines](https://docs.openmv.io/library/omv.image.html) + +#### EDlines + +EDLines, short for Edge Drawing Lines, is a feature-based algorithm that detects straight lines in an image by tracing along the edges of the image. It works by first extracting edges from the image, then building a graph where each edge is represented by a node. The algorithm then uses a greedy strategy to connect the nodes with high edge strength to form line segments. Finally, it merges line segments that are collinear and close to each other to form longer lines. This algorithm does not require a parameter search or optimization and is known for its robustness against noise and partial occlusion. + +For more information about EDlines algorithms check the below links: + +- [github library](https://github.com/CihanTopal/ED_Lib) +- [Science article](https://www.sciencedirect.com/science/article/abs/pii/S0167865511001772) +- [EDLINES: REAL-TIME LINE SEGMENT DETECTION BY EDGE DRAWING (ED)](https://projet.liris.cnrs.fr/imagine/pub/proceedings/ICIP-2011/papers/1569406487.pdf) +- [OpenCV EDlines doc](https://docs.opencv.org/3.4/d4/d8b/group__ximgproc__edge__drawing.html) + +#### Line Segment Detector + +LSD (Line Segment Detector) is an algorithm used for detecting line segments in an image. It works by analyzing the gradient information in the image and clustering nearby gradients that form a line segment. The algorithm first computes the gradient information for the image using the Gaussian filter. It then performs a series of operations, such as non-maximum suppression and thresholding, to obtain a binary edge map. + +The line segments are detected by applying a series of geometric constraints to the edge map. These constraints include the minimum and maximum length of line segments, the minimum angle between line segments, and the maximum deviation of line segments from a straight line. + +Once the line segments are detected, they are refined using a line merging algorithm combining nearby line segments into longer, more continuous lines. The resulting line segments and their endpoints are returned as the output of the algorithm. + +For more information about Line Segment Detector algorithms check the below links: + +- [LSD: a Line Segment Detector pdf](http://www.ipol.im/pub/art/2012/gjmr-lsd/article.pdf) +- [Working behind LSD](https://saiwa.ai/blog/line-segment-detection-2/) +- [OpenCV LSD doc](https://docs.opencv.org/3.4/db/d73/classcv_1_1LineSegmentDetector.html) +- [OpenMV find_line_segments](https://docs.openmv.io/library/omv.image.html) + +#### Radon transform + +Radon transform is another popular algorithm used for line detection. It works by computing the line integral of an image along different directions. The algorithm rotates the image at different angles and computes the sum of pixel intensities along each line in the image. The result is a two-dimensional matrix called the Radon transform. Peaks in this matrix correspond to the lines in the original image. The algorithm then applies some post-processing steps to identify and extract the lines from the Radon transform. + +For more information about Radon transform algorithms check the below links: + +- [Science article](https://www.sciencedirect.com/science/article/abs/pii/0031320396000155) +- [matlab Radon](https://stackoverflow.com/questions/35412573/radon-transform-line-detection) +- [Matlab elaboration Radon](https://www.kevinpolisano.com/Doctorat/doc-matlab-exemple/radon_lines_detection.html) +- [OpenCV Radon doc](https://docs.opencv.org/4.x/d5/d89/radon__transform_8hpp.html) + +### Which algorithm is suitable for our project? + +We have identified four different types of line detection algorithms that could potentially be used for our project. To decide on the best algorithm, we need to consider various factors such as accuracy, efficiency, and ease of use. While processing time is not a critical factor in our case, we need to ensure that the algorithm we choose meets our requirements and is accessible through the platform we are using, which is currently openMV but may change to openCV in the future. Therefore, our priority is to select an algorithm that is easy to implement, provides accurate results, and is compatible with our platform. + +#### OpenMV + +The only two algorithms that work with OpenMV are Hough Transform, the function find_lines, and Line Segment Detector, also known as find_line_segments. Both of these have their ups and downs and could be used for our project. find_lines has the most ups whereas find_line_segemtns has the most negative. As the result here below is decently optimized, it is first grayscaled, and then canny edge detection is done to it. + +For the test are the straight lines pictures used with different lighting additionality the left lane represents a whitish line and the right lane is drawn with a more darker color. here below are the pictures used: + +![picture 1](../RealTime_pictures/rtstraightLines.class/00000.jpg) + +![picture 2](../RealTime_pictures/rtStraightLines.class/00018.jpg) + +##### find_lines + +The find_lines is a very fast function where you can handle straight lines and other lines with at least 45 FPS or more. Also, have a lot of control over the different types of parameters. + +This is the outcome of picture 1: +![outcome_picture_1](./assets/hough_straightLines_Pic_0.bmp) + +This is the outcome of picture 2: +![outcome_picture_2](./assets/hough_straightLines_Pic_1.bmp) + +As you can see there isn't much of a difference between the two pictures. + +##### find_line_segments + +The find_line_segments is a very slow function where you can find segments from a line. This is a easier to use function because it only has two parameters but the frame rate drops significantly. Additionally, the size of the image to run the algorithm on needs to be smaller because of memory. + +This is the outcome of picture 1: + +![outcome_picture_1](./assets/LSD_straightLines_Pic_0.bmp.bmp) + +This is the outcome of picture 2: + +![outcome_picture_2](./assets/LSD_straightLines_Pic_1.bmp.bmp) + +As you can see there is quite a lot of difference between them. This function needs more refinement but I couldn't find the sweet spot. Also, the right line in different pictures was always the problem, so there needs another solution for this function to work better. + +#### OpenCV + +All the above algorithms could be used with OpenCV, But the Radon transform needs more work than the others with the amount of information in the doc. + ## Communication between the Nicla and Zumo In order to make the Zumo robot both detect where it is on a road, and steer to @@ -98,3 +196,6 @@ nog niet}. # Conclusion \communicationConclusion + + + -- cgit v1.2.3