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()
มีข้อผิดพลาดในการสร้างรูปย่อ: ไฟล์สูญหาย