VAM_CV SDK
supported by VAMStack Co., Ltd.
1. Download package VAM_CV and requirements.txt ลงในโฟลเดอร์ที่ติดตั้ง Visual environment และไลบารี่ OpenCV
industry_machine_vision-0.0.1-py3-none-any.whl
14KB
Binary
industry mahine vision
requirements.txt
144B
Text
requirements.txt
- เปิด requirements.txt ทำการลบบรรทัด pkg-resources==0.0.0 และบันทึกการแก้ไข
2. เปิด terminal เข้าโฟลเดอร์ที่ติดตั้ง Visual environment และไลบารี่ OpenCV
$ cd opencv
3. เปิด Visual environment
## windows
$ <C:path\your\project>\env\Scripts\activate.bat
## ubuntu & mac
$ source venv/bin/activate
4. installation
$ pip install industry_machine_vision-0.0.1-py3-none-any.whl
$ pip install -r requirements.txt
- 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 ทั้งหมดที่ได้จากการจัดกลุ่ม โดยจะเรียงลำดับจากค่าสีที่พบน้อยที่สุดไปจนถึงค่าสีที่พบมากที่สุดตามลำดับ
$ visualize_colors(image, group_colors, height=None, width=None)
Parameters:
- image => ภาพสี RGB ที่ผู้ใช้ต้องการ
- group_colors (integer) => จำนวนกลุ่มสีที่ผู้ใช้ต้องการ
- height (integer or None) => ความสูงของภาพผลลัพธ์การจัดกลุ่มค่าสี
- width (integer or None) => ความกว้างของภาพผลลัพธ์ค่าสี
Return:
- image => ภาพผลลัพธ์การจัดกลุ่มค่าสี
- RGB(list) => ค่าสี RGB ทั้งหมดที่ได้จากการจัดกลุ่มสี
Example:
color = VamCV.color()
img,list_colors = color.visualize_colors(image,7)
print(list_colors)
cv2.imshow("Image",img)
cv2.waitKey(0)

2. color_detection
ใช้ตรวจจับสีที่ผู้ใช้ต้องการได้เพียงสีเดียว โดยการรับค่าสี RGB ที่ผู้ใช้ต้องการมาเปลี่ยนเป็นค่าสี HSV เพื่อใช้ในการตรวจจับสีในภาพ ซึ่งฟังก์ชันนี้สามารถรับค่าสี RGB จากฟังก์ชัน visualize_colors มาใช้ได้
$ color_detection(image, RGB, range_HSV=None, area=None)
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:
color = VamCV.color()
Red = (255,0,0)
img,points = color.color_detection(img, Red, range_HSV=40)
print(points)
cv2.imshow("Image",img)
cv2.waitKey(0)
ขั้นตอนการเรียกใช้งานใน vam_color.py
- import package
- สร้างตัวแปรเรียกใช้ class color
- รับภาพ
- เรียกใช้ฟังก์ชันในการหาค่าสีและตรวจจับสี
- save and run "python vam_color.py" on terminal
Code
import cv2
import imutils
from industry_machine_vision import VamCV
color = VamCV.Color()
image = cv2.imread("path/your/image.jpg")
image = imutils.resize(image,width=500)
img,num = color.visualize_colors(image,7)
cv2.imshow("color",img)
detect,p = color.color_detection(image,num[0],40)
cv2.imshow("detect",detect)
cv2.waitKey(0)


ประกอบไปด้วน 2 ฟังก์ชันการทำงาน
1. optimize_image
ใช้ในการปรับปรุงภาพอย่างง่าย เพื่อใช้ในการหาจุดคู่อันดับ 4 จุดของกรอบตรวจจับวัตถุหรือชิ้นส่วน (จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างตามลำดับ)
$ optimize_image(image, lower_threshold, upper_threshold, area=None)
Parameters:
- image => ภาพสี RGB ที่ผู้ใช้ต้อง การ
- lower_threshold (integer) => ขีดจำกัดต่ำสุดสำหรับกระบวนการลบภาพพื้นหลัง มีค่าตั้งแต่ 0-255
- upper_threshold (integer) => ขีดจำกัดสูงสุดสำหรับกระบวนการลบภาพพื้นหลัง มีค่าตั้งแต่ 0-255
- area (integer or None) => พื้นที่ขั้นต่ำของค่าสีที่ผู้ใช้ต้องการ หากพื้นที่ของค่าสีที่เจอมีค่าน้อยกว่าจะไม่ถูกนำมาพิจารณา (pixel)
Return:
- boxes[list(float)]: จุดคู่อันดับ 4 จุด(จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างตามลำดับ)
Example:
mr = VamCV.MeasurementObject()
points = optimize_image(image, 80, 100)
print(points)

2. measuring
ใช้ในการวัดความสูงของวัตถุหรือชิ้นส่วน โดยจะทำการรับค่าจุดคู่อันดับทั้ง 4 จุดของกรอบตรวจจับวัตถุ(จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างตามลำดับ) ขนาดความกว้างจริงของวัตถุหรือชิ้นส่วนพร้อมหน่วยวัดที่ต้องการ
$ measuring(image, boxes, real_width, unit)
Parameters:
- image – ภาพสี RGB ที่ผู้ใช้ต้องการ
- boxes (list) – จุดคู่อันดับทั้ง 4 จุดของกรอบตรวจจับวัตถุ(จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างตามลำดับ)
- real_width (integer) – ขนาดความกว้างจริงของวัตถุ
- unit (string) – มาตรวัดขนาดความกว้างจริงของวัตถุ
Return:
- scale(list): ความกว้าง ความสูงและจุดคู่อันดับของวัตถุที่วัดได้(จุดคู่อันดับด้านซ้ายบน, จุดคู่อันดับด้านขวาบน, จุดคู่อันดับด้านล่างขวาและจุดคู่อันดับด้านซ้ายล่างตามลำดับ)
Example:
mr = VamCV.MeasurementObject()
measuring = mr.measuring(image,points,2,'cm')
print(measuring)
ขั้นตอนการเรียกใช้งาน vam_measuring.py
- import package
- สร้างตัวแปรเรียกใช้ class color
- รับภาพ
- เรียกใช้ฟังก์ชันในการหาจุดพิกัดวัตถุและตรวจวัดขนาด
- save and run "python vam_measuring.py" on terminal
Code
import cv2
import imutils
from industry_machine_vision import VamCV
mr = VamCV.MeasurementObject()
image = cv2.imread("path/your/image.jpg")
image = imutils.resize(image,width=500)
points = mr.optimize_image(image,180,255)
print(points)
measuring = mr.measuring(image,points,2,'cm')
print(measuring)
