VAM_CV SDK
supported by VAMStack Co., Ltd.
Last updated
supported by VAMStack Co., Ltd.
Last updated
Assoc. Prof. Wiroon Sriborrirux, Founder of Advance Innovation Center (AIC) and Bangsaen Design House (BDH), Electrical Engineering Department, Faculty of Engineering, Burapha University
1. Download package VAM_CV and requirements.txt ลงในโฟลเดอร์ที่ติดตั้ง Visual environment และไลบารี่ OpenCV
เปิด requirements.txt ทำการลบบรรทัด pkg-resources==0.0.0 และบันทึกการแก้ไข
2. เปิด terminal เข้าโฟลเดอร์ที่ติดตั้ง Visual environment และไลบารี่ OpenCV
3. เปิด Visual environment
4. installation
check package in env
5. command “code .” in terminal
6. create file vam_color.py and vam_measuring.py
ประกอบไปด้วน 2 ฟังก์ชันการทำงาน
1. visualize_colors
ใช้ในการค้นหาค่าสีภายในภาพด้วยการรับค่าจำนวนกลุ่มสีจากผู้ใช้มาใช้ในการแบ่งกลุ่มของข้อมูลสีภายในภาพ ซึ่งผลลัพธ์ที่ได้จะมี 2 อย่างคือ ภาพผลลัพธ์การจัดกลุ่มค่าสีที่ผู้ใช้ต้องการและค่าสี RGB ทั้งหมดที่ได้จากการจัดกลุ่ม โดยจะเรียงลำดับจากค่าสีที่พบน้อยที่สุดไปจนถึงค่าสีที่พบมากที่สุดตามลำดับ
Parameters:
image => ภาพสี RGB ที่ผู้ใช้ต้องการ
group_colors (integer) => จำนวนกลุ่มสีที่ผู้ใช้ต้องการ
height (integer or None) => ความสูงของภาพผลลัพธ์การจัดกลุ่มค่าสี
width (integer or None) => ความกว้างของภาพผลลัพธ์ค่าสี
Return:
image => ภาพผลลัพธ์การจัดกลุ่มค่าสี
RGB(list) => ค่าสี RGB ทั้งหมดที่ได้จากการจัดกลุ่มสี
Example:
2. color_detection
ใช้ตรวจจับสีที่ผู้ใช้ต้องการได้เพียงสีเดียว โดยการรับค่าสี RGB ที่ผู้ใช้ต้องการมาเปลี่ยนเป็นค่าสี HSV เพื่อใช้ในการตรวจจับสีในภาพ ซึ่งฟังก์ชันนี้สามารถรับค่าสี RGB จากฟังก์ชัน visualize_colors มาใช้ได้
Parameters:
image => ภาพสี RGB ที่ผู้ใช้ต้องการ
RGB (integer(R,G,B)) => ค่าสีหรือความสว่างที่มีค่าตั้งแต่ 0-255 ต่อหนึ่งช่องสี
range_HSV (integer or None) => ค่าช่วงความต่างที่จะนำมาใช้คำนวณหาค่าสีสูงสุดและต่ำสุดของค่าสี HSV เพื่อใช้ในารตรวจจับ
area (integer or None) => พื้นที่ขั้นต่ำของค่าสีที่ผู้ใช้ต้องการ หากพื้นที่ของค่าสีที่เจอมีค่าน้อยกว่าจะไม่ถูกนำมาพิจารณา (pixel)
Return:
image => ภาพการตรวจจับค่าสี
boxes(list) => พิกัดตำแหน่งของค่าสีที่ได้จากการวาดกรอบตรวจจับ ประกอบด้วย จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างของกรอบตรวจจับ ตามลำดับ
Example:
ขั้นตอนการเรียกใช้งานใน vam_color.py
import package
สร้างตัวแปรเรียกใช้ class color
รับภาพ
เรียกใช้ฟังก์ชันในการหาค่าสีและตรวจจับสี
save and run "python vam_color.py" on terminal
Code
ประกอบไปด้วน 2 ฟังก์ชันการทำงาน
1. optimize_image
ใช้ในการปรับปรุงภาพอย่างง่าย เพื่อใช้ในการหาจุดคู่อันดับ 4 จุดของกรอบตรวจจับวัตถุหรือชิ้นส่วน (จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างตามลำดับ)
Parameters:
image => ภาพสี RGB ที่ผู้ใช้ต้องการ
lower_threshold (integer) => ขีดจำกัดต่ำสุดสำหรับกระบวนการลบภาพพื้นหลัง มีค่าตั้งแต่ 0-255
upper_threshold (integer) => ขีดจำกัดสูงสุดสำหรับกระบวนการลบภาพพื้นหลัง มีค่าตั้งแต่ 0-255
area (integer or None) => พื้นที่ขั้นต่ำของค่าสีที่ผู้ใช้ต้องการ หากพื้นที่ของค่าสีที่เจอมีค่าน้อยกว่าจะไม่ถูกนำมาพิจารณา (pixel)
Return:
boxes[list(float)]: จุดคู่อันดับ 4 จุด(จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างตามลำดับ)
Example:
2. measuring
ใช้ในการวัดความสูงของวัตถุหรือชิ้นส่วน โดยจะทำการรับค่าจุดคู่อันดับทั้ง 4 จุดของกรอบตรวจจับวัตถุ(จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างตามลำดับ) ขนาดความกว้างจริงของวัตถุหรือชิ้นส่วนพร้อมหน่วยวัดที่ต้องการ
Parameters:
image – ภาพสี RGB ที่ผู้ใช้ต้องการ
boxes (list) – จุดคู่อันดับทั้ง 4 จุดของกรอบตรวจจับวัตถุ(จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างตามลำดับ)
real_width (integer) – ขนาดความกว้างจริงของวัตถุ
unit (string) – มาตรวัดขนาดความกว้างจริงของวัตถุ
Return:
scale(list): ความกว้าง ความสูงและจุดคู่อันดับของวัตถุที่วัดได้(จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างตามลำดับ)
Example:
ขั้นตอนการเรียกใช้งาน vam_measuring.py
import package
สร้างตัวแปรเรียกใช้ class color
รับภาพ
เรียกใช้ฟังก์ชันในการหาจุดพิกัดวัตถุและตรวจวัดขนาด
save and run "python vam_measuring.py" on terminal
Code