♨ ไลบรารี่/เฟรมเวิร์ค (Library/Framework)

Library
แต่ความหมายในการเขียนโปรแกรม คือ การรวม Function มาอำนวยความสะดวกต่างๆ เช่น เรามีฟังก์ชั่นที่เขียนเองเอาไว้อำนวยความสะดวก ถ้าเราจะต้องมานั่งเขียนใหม่ทุกครั้ง ก็จะมีผลเสียหลายๆอย่าง ก็เลยมีการแยกพวกฟังก์ชั่นเหล่านี้ออกมา เป็นไฟล์ ถ้าจะใช้ก็สามารถ include เข้าไปเรียกใช้ได้ง่ายๆ

Framework
คือ การนำ Library หลายตัว ที่ทำงานในด้านเดียวกัน หรือเกื้อหนุนกัน เอามาวางเป็นกลุ่มก้อน เพื่ออำนวยความสะดวกให้กับผู้ใช้

ควบคุมเซอร์โวมอเตอร์ ด้วย OpenCV Python

ควบคุมเซอร์โวมอเตอร์ ด้วย OpenCV Python เซอร์โวมอเตอร์ (Servo Motor) เป็นการรวมมอเตอร์ไฟฟ้ากระแสตรง (DC Motor) เข้ากับวงจรควบคุม โดยความแตกต่างที่สำคัญของเซอร์โวมอเตอร์กับมอเตอร์แบบอื่น ๆ คือเซอร์โวมอเตอร์จะรู้ตำแหน่งที่ตัวเองอยู่ และสั่งเปลี่ยนตำแหน่งโดยการเปลี่ยนองศาได้ นิยมใช้งานในเครื่องบินบังคับ เรือบังคับ โดยใช้กำหนดทิศทางของหางเสือเป็นองศา การทํางานเพียงตัว เซอร์โวมอเตอร์…

โปรแกรมแรก OpenCV Python บน Windows 10

โปรแกรมแรก OpenCV Python ด้วย PyCharm OpenCV (Open source Computer Vision) เป็นไลบรารีฟังก์ชันการเขียนโปรแกรม (Library of Programming Functions) โดยส่วนใหญ่จะมุ่งเป้าไปที่การแสดงผลด้วยคอมพิวเตอร์แบบเรียลไทม์ (Real-Time Computer Vision) ขอบเขตการใช้งานของ…

OpenCV C++ #5 การแปลงภาพแบบ Perspective

การแปลงภาพแบบ Perspective OpenCV การแปลงภาพแบบ Perspective คือ การฉายจุดลงบนฉากรับภาพตามแนวเส้นที่พุ่งออกมาจากจุดจุดหนึ่งที่เรียกว่า จุดศูนย์กลางการฉาย ขั้นตอนการทํางาน # แสดงรูปภาพ , วิดีโอ และ เว็บแคม โดยศึกษา ขั้นตอนการทำงาน จากลิงค์บทความ ด้านล่าง แสดงรูปภาพ ,…

OpenCV C++ #4 การวาดรูปทรง และ ข้อความ

การวาดรูปทรง และ ข้อความ OpenCV บทความจะพูดถึงเรื่อง ฟังก์ชัน การวาดรูปทรง (Drawing) และ ข้อความ (Text) ใน OpenCV กับ C++ โดยฟังก์ชัน Drawing เป็นคำสั่งสำหรับใช้วาดรูปทรง ใน OpenCV…

OpenCV C++ #3 การปรับขนาดรูปภาพ และการครอบตัดรูปภาพ

OpenCV การปรับขนาดรูปภาพ ในบทนี้จะพูดถึงเรื่องการย่อขนาดภาพโดยใช้ Resize Image ใน การปรับขนาดรูปภาพ ใน C++ ของ ไลบรารี OpenCV โดย ค่า เริ่มต้น การปรับ ขนาด จะ เปลี่ยน เฉพาะ…

OpenCV C++ #2 ภาพระดับสีเทา ภาพเบลอ และ ภาพแคนนี

OpenCV ภาพระดับสีเทา ภาพเบลอ และ ภาพแคนนี ขั้นตอนการทํางาน # แสดงรูปภาพ , วิดีโอ และ เว็บแคม โดยศึกษา ขั้นตอนการทำงาน จากลิงค์บทความ ด้านล่าง แสดงรูปภาพ , วิดีโอ และ…

OpenCV C++ #1 แสดงรูปภาพ , วิดีโอ และ เว็บแคม

OpenCV แสดงรูปภาพ, วิดีโอ และ กล้องเว็บแคม @ ส่วนหัวของโปรแกรม ส่วนหัวของโปรแกรม หรือที่เรียกว่า เฮดเดอร์ไฟล์ (Header File) เป็นการเรียกใช้เฮดเดอร์ไฟล์ จากไลบรารี่ OpenCV เข้ามาร่วมใช้งานภายในโปรแกรม โดยไฟล์เฮดเดอร์เป็นไฟล์ที่ใช้ในการรวบรวมฟังก์ชั่นการทำงานต่างๆ ของ OpenCV ที่ใช้ในโปรแกรมนี้คือ…

การใช้งาน OpenCV + Visual Studio 2019  ด้วย ภาษา C++

การใช้งาน OpenCV ภาษา C++ OpenCV ย่อมาจาก Opensource Computer Vision หรือก็คือ Computer Vision ไลบรารี ความสามารถหลักๆ ของ OpenCV  ก็คือสามารถช่วยให้เราจัดการวิดีโอหรือรูปภาพ เพื่อให้เกิดการเปลี่ยนแปลงกับรูปภาพ อย่างเช่น ทำให้ภาพชัดขึ้น ทำให้เบลอ ลดสัญญาณรบกวน (noise)…

ROS2 – 14 เขียน Publisher / Subscriber ด้วยภาษา C++

เขียน Publisher และ Subscriber ด้วยภาษา C++ Topics : ข้อความจะถูกส่งผ่านระบบการขนส่งที่มีการ Publisher / Subscriber โหนดที่ส่งข้อความจะเรียกว่า Publisher ชื่อที่ระบุใน Topic จะใช้เพื่อระบุเนื้อหาของข้อความ โหนดที่สนใจในข้อมูลบางประเภทจะทำการ Subscriber หัวข้อที่ต้องการ…

ROS2 – 13 เขียน Publisher / Subscriber ด้วยภาษา Python

เขียน Publisher และ Subscriber ด้วยภาษา Python Topics : ข้อความจะถูกส่งผ่านระบบการขนส่งที่มีการ Publisher / Subscriber โหนดที่ส่งข้อความจะเรียกว่า Publisher ชื่อที่ระบุใน Topic จะใช้เพื่อระบุเนื้อหาของข้อความ โหนดที่สนใจในข้อมูลบางประเภทจะทำการ Subscriber หัวข้อที่ต้องการ…

ROS2 – 12 ทดสอบ ควบคุมเต่าบน ROS2

ควบคุมเต่าบน ROS2 หลังจากที่เราทดสอบการใช้งาน โหนด ของ ROS2 มาบ้างแล้ว ต่อไปเราก็จะมาทำความเข้าใจการสื่อสาร ระหว่างโหนดต่างๆ และทดสอบการทำงานของมันว่าสามารถใช้งานได้แล้วรึเปล่า โดยเราจะใช้ Turtlesim (เต่าจำลอง) ที่ ROS2 มีให้มาอยู่แล้ว ซึ่งจะเป็นการเปิดหน้าต่างที่มีเต่าขึ้นมา แล้วควบคุมเต่าด้วย keyboard ให้เราได้ศึกษาการใช้งานคำสั่งพื้นฐานควบคุมการทำงานต่าง…

ROS2 – 11 เขียน Node ภาษา C++ แบบ OOP

เขียน Node ภาษา C++ แบบ OOP OOP ก็คือ “ธรรมชาติของวัตถุ” หมายความว่า OOP จะมองสิ่งแต่ละสิ่งถือเป็น “วัตถุชิ้นหนึ่ง” (Object) มันจะมีสีแดงหรือสีเขียว ยาวหรือสั้น มันก็คือวัตถุชิ้นหนึ่งเหมือนกัน และเราสามารถกำหนดประเภทหรือคลาสให้กับวัตถุเหล่านั้นได้ นอกจากนี้ เมื่อ…

ROS2 – 10 เขียน Node ภาษา C++ เบื้องต้น

เขียน Node ภาษา C++ เบื้องต้น การทำงานของ ROS จะแบ่งเป็น Node แต่ละ Node จะทำหน้าที่เฉพาะเช่น Node เซนเซอร์อุณหภูมิ, Node เซนเซอร์ความเร็ว, Node ควบคุมมอเตอร์, Node Lidar…

ROS2 – 9 เขียน Node ภาษา Python แบบ OOP

เขียน Node ภาษา Python แบบ OOP การเขียนโปรแกรมเชิงวัตถุ OOP (Object Oriented Programming) เป็นวิธีการเขียนโปรแกรมที่นำแนวคิดในโลกของความเป็นจริงมาใช้กับในโลกของการเขียนโปรแกรมในการที่ โปรแกรมเมอร์ สร้างซอฟต์แวร์ขึ้นมาเพื่อแก้ไขปัญหาต่างๆ OOP เป็นวิธีการเขียนโปรแกรมรูปแบบหนึ่ง โดยมองสิ่งต่างๆในระบบเป็นวัตถุ (Object) ชิ้นหนึ่งที่มีหน้าที่และความหมายในตัว โดยวัตถุๆนั้น…

ROS2 – 8 เขียน Node ภาษา Python เบื้องต้น

เขียน Node ภาษา Python เบื้องต้น Node :เป็นกระบวนการที่ใช้ในการดำเนินการโปรแกรมต่าง ซึ่ง ROS ได้รับการออกแบบให้เป็นระบบแบบแยกส่วนในระดับที่ละเอียด ระบบควบคุมหุ่นยนต์มักจะประกอบด้วยหลายโหนด ตัวอย่างเช่นหนึ่งโหนดควบคุม laser range-finder, หนึ่งโหนดควบคุมมอเตอร์ล้อ, หนึ่งโหนดทำการแปลงค่าต่างๆ, หนึ่งโหนดทำการวางแผนเส้นทาง, หนึ่งโหนดให้มุมมองกราฟิกของระบบและอื่น ๆ เป็นต้น…