ዝርዝር ሁኔታ:
- ደረጃ 1 የራስጌ ፋይሎች
- ደረጃ 2 ቪዲዮውን መቅረጽ
- ደረጃ 3 ፍሬም መያዝ እና ቀለምን መግለፅ
- ደረጃ 4 ጭምብል እና ማውጣት
- ደረጃ 5: በመጨረሻ ማሳያ
- ደረጃ 6: ማሳያ
ቪዲዮ: OpenCV ን በመጠቀም ቀላል ቀለም-መለየት 6 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:30
ሃይ! ዛሬ OpenCV እና Python ን በመጠቀም ከቀጥታ ቪዲዮ አንድን ቀለም የመለየት ቀላል ዘዴን አሳያለሁ።
በመሠረቱ እኔ አስፈላጊውን ቀለም በጀርባው ፍሬም ውስጥ እንዳለ ወይም እንደሌለ እሞክራለሁ እና የ OpenCV ሞጁሎችን በመጠቀም ያንን ክልል እሸፍናለሁ እና በተመሳሳይ ጊዜ ፍሬሙን እገልጻለሁ።
ደረጃ 1 የራስጌ ፋይሎች
አሁን እዚህ ሁለት የራስጌ ፋይሎችን ማለትም cv2 እና NumPy ን ተጠቅሜያለሁ። በመሠረቱ cv2 በኮዶች ውስጥ ያሉትን ትዕዛዞች ሲጠቀሙ አስፈላጊ የሆኑትን ሁሉንም የ C ++ ፋይሎችን የሚጭን የ OpenCV ቤተ -መጽሐፍት ነው (ሁሉንም ትርጓሜዎች ይ containsል)።
እና Numpy ባለብዙ ልኬት ድርድር ለማከማቸት አስፈላጊ የሆነ የፓይዘን ቤተ -መጽሐፍት ነው። እኛ የቀለም ክልል አስተባባሪዎቻችንን ለማከማቸት እንጠቀማለን።
እና ደነዝ እንደ ኤንፒ በመሰረቱ ከቁጥቋጦ ይልቅ በእያንዳንዱ ጊዜ np ን በመጠቀም የእኛን ኮድ ትንሽ ለማሳጠር ይረዳል።
ደረጃ 2 ቪዲዮውን መቅረጽ
ፓይዘን በሚጠቀሙበት ጊዜ ይህ በጣም ቀላል ነው። ክፈፎቹን መቅዳት እንዲጀምር እዚህ የቪዲዮ መቅረጫውን ማብራት አለብን።
አሁን በቪዲዮ ቀረፃ ውስጥ ያለው እሴት ካሜራውን ያሳያል ፣ በእኔ ሁኔታ ካሜራው ከእኔ ላፕቶፕ ጋር ተገናኝቷል ፣ ስለዚህ 0።
ለሁለተኛው ካሜራ እና ለሌሎችም በተመሳሳይ ወደ 1 መሄድ ይችላሉ። VideoCapture ነገሩን ለእሱ ይፈጥራል።
ደረጃ 3 ፍሬም መያዝ እና ቀለምን መግለፅ
አሁን እዚህ ምስሉን ለማውጣት የሚረዳንን የቪዲዮ ቅጽበታዊ ክፈፍ ለመያዝ እንድንችል አንድ ነገር ማድረግ አለብን እና እንደአስፈላጊነቱ በዚያ ላይ መሥራት እንችላለን።
“ሳለ” loop loop በሚፈለገው ጊዜያችን እንድንሮጥ ይረዳናል። አሁን "_, frame = cap.read ()" የተያዘውን ፍሬም ትክክለኛነት ለማረጋገጥ እና ለማከማቸት ያገለግላል። “cap.read () ቡሊያን ተለዋዋጭ ነው እና ክፈፉ በትክክል ከተነበበ እውነት ይመለሳል እና ክፈፎች ካላገኙ ምንም ስህተት አይታይም ፣ በቀላሉ ምንም አያገኙም።
አሁን መስመር 11 እና መስመር 12 በመሠረቱ እኛ ማወቅ ያለብንን የቀለም ክልል ይገልፃሉ። ለዚህ እኔ ሰማያዊ ቀለምን ተጠቀምኩኝ።
ለዚያ ልዩ ቀለም የ BGR እሴቶችን ብቻ መተየብ በሚፈልጉበት በማንኛውም ቀለም መቀጠል ይችላሉ። በእውነተኛው ዓለም ውስጥ አንድን የተወሰነ ቀለም መለየት የእኛን ዓላማ ስለማያገለግል በቁጥጥሩ ድርድር በመጠቀም ሁለት ድርድሮችን መግለፅ የተሻለ ነው።
ለዚህ ፣ የታችኛውን የ BGR እሴቶችን እና የላይኛውን የ BGR እሴቶችን የሚያከማቹ ሁለት ተለዋዋጮችን ገልጫለሁ።
ደረጃ 4 ጭምብል እና ማውጣት
አሁን ክፈፉን ለመሸፈን እና የክፈፉን ቀለም የማውጣት ዋና ተግባር እዚህ ይመጣል። ጭምብል ለማድረግ በ OpenCV ውስጥ ባለው ቤተ -መጽሐፍት ውስጥ የሚገኙትን ቅድመ -የተገለጹ ትዕዛዞችን ተጠቅሜአለሁ። በመሠረቱ ጭምብል የተወሰነውን የክፈፉን ክፍል የማስወገድ ሂደት ነው ፣ ማለትም እኛ በተገለጸው የቀለም ክልል ውስጥ የማይዋኙ የ BGR እሴቶቻቸውን ፒክስሎች እናስወግዳለን እና ይህ በ cv2.inRange ይከናወናል። ከዚያ በኋላ ፣ በፒክሴል እሴቶች ላይ በመመስረት የቀለሙን ክልል ወደ ጭምብል ምስል እንተገብራለን ፣ ለዚህም እኛ cv2.bitwise_and ን እንጠቀማለን ፣ እንደ ጭምብል እና የቀለም ክልል እሴቶች ላይ በመመርኮዝ ቀለሞችን ወደ ጭምብል ክልል ይመድባል።
ለ cv2 አገናኝ። bitwise_and
ደረጃ 5: በመጨረሻ ማሳያ
ለእያንዳንዱ ክፈፍ እንደ ምስል ለማሳየት መሠረታዊውን cv2.imshow () እዚህ ተጠቅሜአለሁ። በተለዋዋጮች ውስጥ የተከማቸ የክፈፍ ውሂብ ስላለኝ እኔ በ imshow () ውስጥ ማምጣት እችላለሁ። እዚህ ሦስቱን ክፈፎች ፣ ኦሪጅናል ፣ ጭምብል እና ባለቀለም አሳይቻለሁ።
አሁን ከዝውውር ዑደት መውጣት አለብን። ለዚህ ፣ በቀላሉ cv2.wait. Key () ን መተግበር እንችላለን። በመሠረቱ መልስ ከመስጠቱ በፊት የጥበቃ ጊዜውን ይነግረዋል። ስለዚህ 0 ካለፉ ያለገደብ ይጠብቃል እና 0xFF የሕንፃው 64 ቢት መሆኑን ይነግረዋል። “ord ()” ሲጫን የማገጃ ትዕዛዙን በብሎክ ውስጥ እንደሚፈጽም እና ከሉፕው የሚወጣውን ገጸ -ባህሪን ይገልጻል።
ከዚያ cap.release () የቪዲዮ መቅጃውን ይዘጋል እና cv2.destroyAllWindow () ሁሉንም የተከፈቱ መስኮቶችን ይዘጋል።
ማንኛውም ጉዳይ ካለዎት እባክዎን ያሳውቁኝ።
ወደ ምንጭ ኮድ አገናኝ
የሚመከር:
ቀላል የ LED ቀለም መለወጥ “ሻማ” 5 ደረጃዎች (ከስዕሎች ጋር)
ቀላል የ LED ቀለም “ሻማ” መለወጥ - ይህ ለልጆች እና ለአዋቂዎች ጥሩ የሆነ ቀላል ቀለም የሚቀይር ብርሃን ነው። ደብዛዛ ባልሆነ ክፍል ውስጥ ቆንጆ ይመስላል ፣ ለበዓላት በጣም ጥሩ ፣ እና በጣም ጥሩ የምሽት ብርሃንን ይፈጥራል
BC547 ትራንዚስተር በመጠቀም 4 -ደረጃ ደረጃዎች በመጠቀም ቀላል የንክኪ ዳሳሽ ያድርጉ
BC547 ትራንዚስተር በመጠቀም ቀላል የመዳሰሻ ዳሳሽ ያድርጉ - ሂይ ጓደኛ ፣ ዛሬ እኔ ትራንዚስተር BC547 ን በመጠቀም ቀላል የንክኪ ዳሳሽ አደርጋለሁ። ይህ ወረዳ በጣም ቀላል እና በጣም ፍላጎት ያለው ወረዳ ነው። እንጀምር ፣
POV Globe 24bit እውነተኛ ቀለም እና ቀላል HW: 11 ደረጃዎች (ከስዕሎች ጋር)
POV Globe 24bit እውነተኛ ቀለም እና ቀላል ኤች.ቪ - እኔ ሁል ጊዜ ከእነዚህ የ POV ግሎባዎች አንዱን ለማድረግ እፈልግ ነበር። ነገር ግን በሁሉም የኤልዲዎች ፣ ሽቦዎች ወዘተ የሽያጭ ጥረት ያደናቀፈኝ እኔ ሰነፍ ሰው ስለሆንኩ :-) ቀላሉ መንገድ መኖር አለበት
RGB LED ርካሽ እና ቀላል ቀለም የምሽት ብርሃንን መለወጥ - 3 ደረጃዎች
የ RGB LED ርካሽ እና ቀላል ቀለም የምሽት ብርሃንን መለወጥ - ይህ ፕሮጀክት አንዴ ከተጫወትኩ እና ከተረዳሁት በኋላ በጣም ቀላል ነበር ፣ ይህም ትንሽ ጊዜ ወስዶ ነበር። የሚመራ የመደብዘዝ አማራጮች እንዲሁ። እነዚህ እርስዎ ለመቁጠር የሚያስፈልጉዎት ዕቃዎች ናቸው
ባለብዙ ቀለም ቀለም የገና ዛፍ ኮከብ: 4 ደረጃዎች (ከስዕሎች ጋር)
ብልጭታ ባለብዙ ቀለም የገና ዛፍ ኮከብ - ስለዚህ እኔ እና አዲሱ ባለቤቴ ወደ አዲሱ ቤታችን ተዛወርን ፣ ገና እዚህ አለ እና አንድ ዛፍ አደረግን ፣ ግን ይጠብቁ … ሁለታችንም በዛፉ ላይ የምናስቀምጠው ጨዋ ኮከብ አልነበረንም። ይህ አስተማሪ በጣም አሪፍ ፣ ብልጭ ድርግም የሚል ፣ የቀለም መቀየሪያ እንዴት እንደሚሠሩ ያሳየዎታል