
Სარჩევი:
- მარაგები
- ნაბიჯი 1: ბიბლიოთეკების იმპორტი
- ნაბიჯი 2: საჩვენებელი ზოლების შექმნა
- ნაბიჯი 3: შექმენით TrackBars ელფერი, გაჯერება და მნიშვნელობა
- ნაბიჯი 4: როგორ წავიკითხოთ და შეცვალოთ სურათი
- ნაბიჯი 5: წაკითხვის ბილიკი ღირებულებების გამოიყენოს იგი გამოსახულება
- ნაბიჯი 6: გამოსახულების ჩვენება და ზედა და ქვედა ლიმიტის დაყენება
- ნაბიჯი 7: ახლა საბოლოო ნაბიჯი
- ნაბიჯი 8: საბოლოო შედეგები
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50


გამარჯობა! ეს ინსტრუქცია გამოიყენება იმის გასარკევად, თუ როგორ ამოიღოთ კონკრეტული ფერი პითონში გამოსახულიდან openCV ბიბლიოთეკის გამოყენებით. თუ თქვენ ახალი ხართ ამ ტექნიკით, მაშინ არ ინერვიულოთ, ამ სახელმძღვანელოს ბოლოს თქვენ შეძლებთ თქვენი საკუთარი ფერის გამოვლენის პროგრამის დაპროგრამებას.
ქვემოთ მოცემულია ფუნქციები ან ჩვენ შეგვიძლია ვთქვათ ტექნიკა, რომელსაც თქვენ შეისწავლით, 1. როგორ წავიკითხოთ სურათი
2. როგორ შევქმნათ Track Bars
3. როგორ შევცვალოთ გამოსახულების შეფერილობის, გაჯერების და ღირებულება ტრეკის ზოლების გამოყენებით
4. და შემდეგ იქნება თქვენი საბოლოო გამომავალი
თქვენ შეგიძლიათ ნახოთ გამომავალი ვიდეო, რომელიც მე დავურთე ქვემოთ.
მოდით დავიწყოთ
მარაგები
- პითონი 3
- openCV ბიბლიოთეკა
- დაბუჟებული ბიბლიოთეკა
ნაბიჯი 1: ბიბლიოთეკების იმპორტი

სურათი არის ყვითელი ფერარის, როგორც ნაჩვენებია და ჩვენ დავგეგმავთ ამ ყვითელიდან მხოლოდ ყვითელი ფერის ამოღებას
პირველი ნაბიჯი იქნება ჩვენი ბიბლიოთეკების იმპორტი
1. მათ შორის openCV ბიბლიოთეკა. მას პითონში cv2 ეწოდება
2. numpy ბიბლიოთეკის ჩათვლით np. "As" მოგვცემს საშუალებას, რომ ჩვენ numpy როგორც np ასე რომ არ გვჭირდება numpy წერა ისევ და ისევ
ნაბიჯი 2: საჩვენებელი ზოლების შექმნა

ტრეკის ზოლები იქმნება გამოსახულების შეფერილობის, გაჯერების და მნიშვნელობის შესაცვლელად.
cv2.namedWindow ("TrackBars") კოდის ეს ხაზი გამოიყენება ახალი გამომავალი ფანჯრის შესაქმნელად და ფანჯრის სახელი მოცემულია TrackBars- ის სახით (შეგიძლიათ მიუთითოთ ნებისმიერი სახელი)
cv2.resizeWindow ("TrackBars", 600, 250) ეს ფუნქცია გამოიყენება ფანჯრის ზომის შესაცვლელად. "TrackBars" არის რომელი ფანჯრისთვის გსურთ ზომის შეცვლა რადგან მე მინდოდა TrackBars ფანჯრის ზომის შეცვლა მე დავწერე ეს სახელი. მოყვება ორი მთელი რიცხვი. ეს ორი მთელი რიცხვია სიგანე და სიმაღლე. თქვენ შეგიძლიათ ითამაშოთ ამ ორი ნომრით ზომის შესაცვლელად
ნაბიჯი 3: შექმენით TrackBars ელფერი, გაჯერება და მნიშვნელობა


ახლა ჩვენ შევქმნით სულ 6 TrackBars შეფერილობის, გაჯერების და ღირებულებისათვის. თითოეულს ექნება ორი ანუ 1 მინიმალური და 1 მაქსიმუმი. ჩვენ ვიყენებთ openCV- ს createTrackbar ფუნქციას. პირველი ჩვენ ვნახავთ ამ ფუნქციის სინტაქსს.
cv2.createTrackbar ("WINDOWNAME", "MAINWINDOWNAME", "RANGE"). ეს შეიძლება დამაბნეველი იყოს, მაგრამ არ ინერვიულოთ, ჩვენ თითოეულ ნაბიჯს გადავდგამთ. დაიმახსოვრე ერთი რამ, რომ ღია CV- ში შეფერილობის მნიშვნელობაა 179, გაჯერება 255 და მნიშვნელობა 255
1. შექმნა TrackBar hue min:
cv2.createTrackbar ("Hue min", "TrackBars", 0, 179, ცარიელი)
ამ Hue min არის trackbar– ის სახელი, TrackBars არის მთავარი ფანჯარა, 0 არის პოზიცია, რომელზეც იქნება ჩვენი სლაიდერი და 179 არის დიაპაზონი, რაც ნიშნავს, რომ silder გადავა 0-179 – დან
2. შექმენით TrackBar hue max– ისთვის:
cv2.createTrackbar ("Hue max", "TrackBars", 179, 179, ცარიელი)
ამ Hue max- ში არის ბილიკის სახელი, TrackBars არის მთავარი ფანჯარა, 179 არის პოზიცია, რომელზეც იქნება ჩვენი სლაიდერი და 179 არის მაქსიმალური დიაპაზონი, რაც ნიშნავს, რომ სილდერი გადავა 179-0-დან
3. ანალოგიურად გაიმეორეთ ნაბიჯები sat min, sat max, val min და val max როგორც ნაჩვენებია სურათზე
თეთრი ფონის გამოსახულება არის გამომავალი სურათი. ასე გამოიყურება თქვენი ბილიკების ზოლები
ნაბიჯი 4: როგორ წავიკითხოთ და შეცვალოთ სურათი

cv2.imread () საშუალებას გაძლევთ წაიკითხოთ სურათი. ერთი მნიშვნელოვანი აზრი უნდა გახსოვდეთ, რომ თქვენი სურათის მდებარეობა უნდა იყოს იმავე საქაღალდეში, სადაც პროგრამა ინახება. ჩვენ ჩავატარებთ while მარყუჟს, რადგან ის უნდა იმოქმედოს მანამ, სანამ არ კითხულობს სურათს ან შეგვიძლია ვთქვათ, სანამ მდგომარეობა არ არის ჭეშმარიტი
img = cv2.imread ("ferrari.jpg")
- ამაში მე შევქმენი ცვლადი სახელი "img", რომელშიც ვინახავ სურათს
- Cv2.imread- ში ჩაწერეთ სურათის სახელი მისი გაფართოებით ორმაგი ციტირებით
სურათის ზომის შესაცვლელად ჩვენ ვიყენებთ cv2.resize ფუნქციას. ეს ნაწილი არჩევითია, თუ გსურთ ზომის შეცვლა, შეგიძლიათ გამოიყენოთ ეს ფუნქცია
Cv2.resize– ის შიგნით ჯერ ჩაწერეთ ცვლადის სახელი, რომელშიც ინახება სურათი და შემდეგ მისი სიგანე და სიმაღლე
ნაბიჯი 5: წაკითხვის ბილიკი ღირებულებების გამოიყენოს იგი გამოსახულება


კარგი, ახლა ჩვენ ვაპირებთ წავიკითხოთ ბარის ზოლების მნიშვნელობები, რათა გამოვიყენოთ იგი ჩვენს სურათზე. ჩვენ მივიღებთ მნიშვნელობებს cv2.getTrackbarPos () ფუნქციის გამოყენებით.
დავიწყოთ ამ ნაწილით …
h_min = cv2.getTrackbarPos ("Hue min", "TrackBars")
ზემოაღნიშნულ განცხადებაში მე ვქმნი ცვლადის სახელს h_min, რომელშიც შევინახავ Hue min- ის მნიშვნელობას. Cv2.getTrackbarPos პირველი არგუმენტი იქნება "Hue min", რადგან მე მინდა hue min მნიშვნელობები (მართლწერა ზუსტად იგივე უნდა იყოს, როგორც ეს არის createTrackbar ფუნქცია) და მე -2 არგუმენტი იქნება trackbar ფანჯრის სახელი, რომელსაც ის ეკუთვნის.
- გაიმეორეთ იგივე პროცესი h_max და დანარჩენი ფუნქციები, როგორც ეს მოცემულია ზემოთ სურათზე და შემდეგ დაბეჭდეთ ყველა მნიშვნელობა print () - ის გამოყენებით
- გამომავალი ნაჩვენებია მეორე სურათზე. ის დაბეჭდავს h_min, h_max, s_min, s_max, v_min, s_max მნიშვნელობებს
ნაბიჯი 6: გამოსახულების ჩვენება და ზედა და ქვედა ლიმიტის დაყენება

ახლა ჩვენ გვაქვს ელფერი, გაჯერებისა და მნიშვნელობის მინიმალური და მაქსიმალური მნიშვნელობა, ჩვენ გამოვიყენებთ ამ მნიშვნელობას სურათის გაფილტვრის მიზნით, რათა შევძლოთ გამოსახულების კონკრეტული ფერის გამომუშავება.
ამისათვის ჩვენ შევქმნით ნიღბს cv2.inRange ფუნქციის გამოყენებით. მანამდე ჩვენ დავაყენებთ შეფერილობის, გაჯერების და მნიშვნელობის ზედა და ქვედა ზღვარს
ასე რომ, შექმენით ცვლადი სახელი "ქვედა" და numpy მასივის ფუნქციის გამოყენებით დააყენეთ დიაპაზონი min სამივესთვის შემდეგნაირად
ქვედა = np. მასივი ([h_min, s_min, v_min])
გაიმეორეთ იგივე ნაბიჯი ზედა ნაწილში
ზედა = np.array ([h_max, s_max, v_max])
ახლა ჩვენ შევქმნით ნიღაბს შემდეგნაირად
mask = cv2.inRange (ზომის შეცვლა, ქვედა, ზედა) cv2.inRang– ში პირველი არგუმენტი იქნება ცვლადი, რომელშიც ინახება ჩემი საბოლოო სურათი, მეორე არგუმენტი იქნება ქვედა ზღვარი და მე –3 არგუმენტი იქნება ზედა ზღვარი.
ახლა ჩვენ ვაპირებთ აჩვენოთ ძირითადი სურათი და ნიღაბი. ჩვენებისათვის ჩვენ გამოვიყენებთ cv2.imshow () ფუნქციას
cv2.imshow ("img", ზომის შეცვლა) ეს არის მთავარი გამოსახულების ჩვენება. პირველი არგუმენტი არის იმ ფანჯრის სახელი, რომლის სახელიც შეგიძლიათ მიუთითოთ, ხოლო მეორე არგუმენტი არის ცვლადი, რომელშიც ინახება ჩემი მთავარი სურათი, რომლის ჩვენებაც გსურთ.
ანალოგიურად გაიმეორეთ ნაბიჯები ნიღბის გასაკეთებლად
cv2.imshow ("გამომავალი", ნიღაბი)
ნაბიჯი 7: ახლა საბოლოო ნაბიჯი

ამ ბოლო ეტაპზე ჩვენ გამოვყოფთ მანქანის ფერს და ჩვენებას.
მე შევქმენი ცვლადის სახელის შედეგი. ისევ შეგიძლია ნებისმიერი სახელი დაარქვა. ჩვენ ვიყენებთ cv2.bitwise_and () ფუნქციას, რომელშიც ჩვენ ერთად დავამატებთ სურათებს და შევქმნით ახალ სურათს. და სადაც არ უნდა იყოს ორივე გამოსახულების პიქსელი, ის მიიღებს როგორც დიახ ან "1".
შედეგი = cv2.bitwise_and (ზომის შეცვლა, ზომის შეცვლა, ნიღაბი = ნიღაბი)
- ამაში პირველი არგუმენტი იქნება ჩვენი სურათი
- მე –2 არგუმენტი იქნება ჩვენი ორიგინალური სურათი, რასაც მოჰყვება გამოყენებული ნიღაბი, რომელიც ჩვენ ადრე შევქმენით
- და ბოლოს უბრალოდ აჩვენე შედეგი imshow ფუნქციის გამოყენებით
უბრალოდ დააკოპირეთ და ჩასვით ეს ბოლო ნაბიჯი, ეს მხოლოდ შეფერხებაა და შეგიძლიათ გამოხვიდეთ გამომავალი ფანჯრიდან კლავიატურაზე "a" დაჭერით
ნაბიჯი 8: საბოლოო შედეგები
გირჩევთ:
QR კოდების სკანერი OpenCV გამოყენებით პითონში: 7 ნაბიჯი

QR კოდების სკანერი OpenCV– ს გამოყენებით პითონში: დღევანდელ მსოფლიოში ჩვენ ვხედავთ, რომ QR კოდი და შტრიხ კოდი გამოიყენება თითქმის ყველგან, პროდუქტის შეფუთვიდან ონლაინ გადახდებამდე და დღესდღეობით ჩვენ ვხედავთ QR კოდებს რესტორანშიც კი მენიუს სანახავად. ასე რომ, არა ეჭვი მეპარება, რომ ახლა ეს დიდი აზრია. მაგრამ ოდესმე მოგენატრათ
როგორ გამოვიყენოთ ფერის გამოვლენა TCS3200 SkiiiD– ით: 9 ნაბიჯი

როგორ გამოვიყენოთ ფერის გამოვლენა TCS3200 SkiiiD– ით: სახელმძღვანელო, რათა განვავითაროთ ფერი TCS3200 გამოვლენა skiiiD– ით
მარტივი ფერის გამოვლენა OpenCV გამოყენებით: 6 ნაბიჯი

მარტივი ფერის გამოვლენა OpenCV გამოყენებით: გამარჯობა! დღეს მე ვაჩვენებ ღია მეთოდით ცოცხალი ვიდეოდან ფერის გამოვლენის მარტივ მეთოდს OpenCV და პითონის გამოყენებით. ძირითადად, მე უბრალოდ შევამოწმებ, რომ საჭირო ფერი არის ფონური ჩარჩოში თუ არა და OpenCV მოდულების გამოყენებით მე ნიღბავს იმ რეგიონს და
ობიექტის გამოვლენა W/ Dragonboard 410c ან 820c OpenCV და Tensorflow– ის გამოყენებით .: 4 ნაბიჯი

ობიექტის გამოვლენა W/ Dragonboard 410c ან 820c OpenCV და Tensorflow– ის გამოყენებით .: ეს ინსტრუქცია აღწერს თუ როგორ უნდა დააინსტალიროთ OpenCV, Tensorflow და მანქანათმცოდნეობის ჩარჩოები Python 3.5– ისთვის, რათა გაუშვათ ობიექტის გამოვლენის პროგრამა
ფერის გამოვლენა RGB LED– ის გამოყენებით: 4 ნაბიჯი

ფერის გამოვლენა RGB LED– ის გამოყენებით: გსურდათ ოდესმე ობიექტის ფერის გამოვლენის ავტომატური გზა? ობიექტზე გარკვეული ფერის შუქის ანათებით და იმის გადახედვით, თუ რამდენად შუქზე აისახება უკან, შეგიძლიათ თქვათ რა ფერია ობიექტი. მაგალითად, თუ აანთებ წითელ შუქს