Trackbar as the Color Palette

จาก Morange Wiki
รุ่นแก้ไขเมื่อ 09:37, 2 สิงหาคม 2559 โดย Nobpadon (คุย | มีส่วนร่วม)
(ต่าง) ←รุ่นแก้ไขก่อนหน้า | รุ่นแก้ไขล่าสุด (ต่าง) | รุ่นแก้ไขถัดไป→ (ต่าง)

วัตถุประสงค์

  • เรียนรู้การทำ trackbar OpenCV หน้าต่าง
  • คุณจะได้เรียนรู้ฟังก์ชั่นเหล่านี้: cv2.getTrackbarPos () cv2.createTrackbar () เป็นต้น
เราจะสร้างโปรแกรมที่ง่ายซึ่งแสดงให้เห็นสีที่คุณระบุ คุณมีหน้าต่างซึ่งแสดงให้เห็นสามสี trackbars เพื่อระบุค่า B, G, ด้วยการเลื่อน trackbar และตามลําดับ โดยค่าเริ่มต้นสีเริ่มต้นจะถูกตั้งค่าเป็นสีดำ
สำหรับ cv2.getTrackbarPos () ฟังก์ชันอาร์กิวเมนต์แรกคือชื่อ trackbar ที่สองคือชื่อหน้าต่าง อาร์กิวเมนต์ที่สามเป็นค่าเริ่มต้น ที่สี่เป็นค่าสูงสุด และห้าเป็นฟังก์ชันการเรียกกลับซึ่งจะถูกดำเนินการ ทุกครั้งที่มีการเปลี่ยนแปลงค่า trackbar
อีกโปรแกรมที่สำคัญของการเป็น trackbar จะใช้เป็นปุ่มหรือสวิทช์ OpenCV โดยค่าเริ่มต้นไม่ได้มีการทำงานของปุ่ม ดังนั้นคุณสามารถใช้ trackbar ที่จะได้รับการทำงานดังกล่าว ในโปรแกรมของเราเราได้สร้างหนึ่งในสวิทช์ที่ใช้งานได้เฉพาะถ้าเป็นสวิทช์ ON มิฉะนั้นหน้าจอเป็นสีดำเสมอ


 import cv2
 import numpy as np
 
 def nothing(x):
     pass
 
 # สร้างหน้าต่างภาพสีดำ
 img = np.zeros((300,512,3), np.uint8)
 cv2.namedWindow('image')
 
 # สร้างบาร์ติดตามสำหรับการเปลี่ยนสี
 cv2.createTrackbar('R','image',0,255,nothing)
 cv2.createTrackbar('G','image',0,255,nothing)
 cv2.createTrackbar('B','image',0,255,nothing)
 
 # สร้างสวิตช์ปิดเบิด
 switch = '0 : OFF \n1 : ON'
 cv2.createTrackbar(switch, 'image',0,1,nothing)
 
 while(1):
     cv2.imshow('image',img)
     k = cv2.waitKey(1) & 0xFF
     if k == 27:
         break
 
     # เก็บตำแหน่งปัจจุบัน
     r = cv2.getTrackbarPos('R','image')
     g = cv2.getTrackbarPos('G','image')
     b = cv2.getTrackbarPos('B','image')
     s = cv2.getTrackbarPos(switch,'image')
 
     if s == 0:
         img[:] = 0
     else:
         img[:] = [b,g,r]
 
 cv2.destroyAllWindows()


มีข้อผิดพลาดในการสร้างรูปย่อ: ไฟล์สูญหาย