সুচিপত্র:
- ধাপ 1: হেডার ফাইল
- ধাপ 2: ভিডিও ক্যাপচার করা
- ধাপ 3: ফ্রেম ক্যাপচার করা এবং রঙ নির্ধারণ করা
- ধাপ 4: মাস্কিং এবং নিষ্কাশন
- ধাপ 5: অবশেষে প্রদর্শন
- ধাপ 6: ডেমো
ভিডিও: OpenCV ব্যবহার করে সহজ রঙ-সনাক্তকরণ: 6 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:58
ওহে! আজ আমি OpenCV এবং পাইথন ব্যবহার করে একটি লাইভ ভিডিও থেকে একটি রঙ সনাক্ত করার একটি সহজ পদ্ধতি দেখাতে যাচ্ছি।
মূলত আমি শুধু পরীক্ষা করব প্রয়োজনীয় রঙ ব্যাকগ্রাউন্ড ফ্রেমে আছে কি না এবং ওপেনসিভি মডিউল ব্যবহার করে আমি সেই অঞ্চলটি মুখোশ করব এবং একই সাথে ফ্রেম প্রদর্শন করব।
ধাপ 1: হেডার ফাইল
এখন এখানে আমি cv2 এবং NumPy নামে দুটি হেডার ফাইল ব্যবহার করেছি। মূলত সিভি 2 হল ওপেনসিভি লাইব্রেরি যা কোডগুলিতে কমান্ড ব্যবহার করার সময় গুরুত্বপূর্ণ সমস্ত সি ++ ফাইল লোড করে (এতে সমস্ত সংজ্ঞা রয়েছে)।
এবং নম্পি একটি পাইথন লাইব্রেরি যা একটি বহুমাত্রিক অ্যারে সংরক্ষণের জন্য অপরিহার্য। আমরা আমাদের কালার রেঞ্জ কো-অর্ডিনেট সংরক্ষণ করতে ব্যবহার করব।
এবং npy হিসাবে numpy মূলত আমাদের কোডকে nmpy এর পরিবর্তে np ব্যবহার করে কিছুটা ছোট করতে সাহায্য করে।
ধাপ 2: ভিডিও ক্যাপচার করা
পাইথন ব্যবহার করার সময় এটি বেশ সহজ। এখানে আমাদের শুধু ভিডিও রেকর্ডার চালু করতে হবে যাতে এটি ফ্রেম রেকর্ড করা শুরু করতে পারে।
এখন ভিডিও ক্যাপচারের ভিতরের মান ক্যামেরা নির্দেশ করে, আমার ক্ষেত্রে ক্যামেরা আমার ল্যাপটপের সাথে সংযুক্ত, তাই 0।
আপনি সেকেন্ডারি ক্যামেরার জন্য একইভাবে যেতে পারেন ইত্যাদি। VideoCapture এর জন্য বস্তু তৈরি করে।
ধাপ 3: ফ্রেম ক্যাপচার করা এবং রঙ নির্ধারণ করা
এখন এখানে আমাদের এমন কিছু করতে হবে যাতে আমরা ভিডিওটির তাত্ক্ষণিক ফ্রেমটি ক্যাপচার করতে পারি যা আমাদের ছবিটি বের করতে সাহায্য করবে এবং আমরা প্রয়োজন অনুযায়ী কাজ করতে পারি।
"while" লুপ আমাদের প্রয়োজনীয় সময় অনুযায়ী লুপ চালাতে সাহায্য করবে। এখন "_, ফ্রেম = ক্যাপ। "cap.read () একটি বুলিয়ান ভেরিয়েবল এবং ফ্রেমটি সঠিকভাবে পড়লে সত্য ফিরে আসে এবং যদি আপনি কোন ফ্রেম না পান তবে এটি কোন ত্রুটি দেখাবে না, আপনি কেবল কিছুই পাবেন না।
এখন লাইন 11 এবং লাইন 12 মূলত রঙের পরিসর নির্ধারণ করে যা আমাদের সনাক্ত করতে হবে। এই জন্য, আমি নীল রং ব্যবহার করেছি।
আপনি যে কোনও রঙের সাথে এগিয়ে যেতে পারেন তার জন্য আপনাকে কেবল সেই নির্দিষ্ট রঙের জন্য BGR মান টাইপ করতে হবে। অস্পষ্ট অ্যারে ব্যবহার করে দুটি অ্যারে সংজ্ঞায়িত করা ভাল কারণ বাস্তব জগতে একটি নির্দিষ্ট রঙ সনাক্ত করা আমাদের উদ্দেশ্য পূরণ করবে না বরং আমরা নীল রঙের একটি পরিসীমা নির্ধারণ করব যাতে এটি পরিসরের মধ্যে সনাক্ত করে।
এই জন্য, আমি নিম্ন BGR মান এবং উপরের BGR মান সংরক্ষণ দুটি ভেরিয়েবল সংজ্ঞায়িত করেছি।
ধাপ 4: মাস্কিং এবং নিষ্কাশন
এখন এখানে আসে ফ্রেম মাস্ক করা এবং ফ্রেমের রঙ বের করা। আমি মাস্কিং করতে ওপেনসিভিতে লাইব্রেরিতে উপস্থিত পূর্বনির্ধারিত কমান্ডগুলি ব্যবহার করেছি। মূলত মাস্কিং হল ফ্রেমের কিছু অংশ অপসারণের প্রক্রিয়া, যেমন আমরা পিক্সেলগুলি সরিয়ে ফেলব যার রঙ BGR মান যা সংজ্ঞায়িত রঙের পরিসরে থাকে না এবং এটি cv2.inRange দ্বারা সম্পন্ন হয়। পরবর্তীতে, আমরা পিক্সেল মানগুলির উপর নির্ভর করে মুখোশযুক্ত ছবিতে রঙ পরিসীমা প্রয়োগ করি এবং এর জন্য, আমরা cv2.bitwise_and ব্যবহার করব, এটি কেবল মুখোশযুক্ত অঞ্চলে রঙগুলি নির্ধারণ করবে এবং মুখোশ এবং রঙ পরিসরের মানগুলির উপর নির্ভর করে।
Cv2 এর জন্য লিঙ্ক। bitwise_and:
ধাপ 5: অবশেষে প্রদর্শন
এখানে আমি মৌলিক cv2.imshow () ব্যবহার করেছি প্রতিটি ফ্রেমের জন্য ছবি হিসেবে প্রদর্শনের জন্য। যেহেতু আমার কাছে ভেরিয়েবলে ফ্রেম ডেটা সংরক্ষিত আছে তাই আমি তাদের imshow () এ পুনরুদ্ধার করতে পারি। এখানে আমি আসল, মুখোশযুক্ত এবং রঙিন তিনটি ফ্রেম প্রদর্শন করেছি।
এখন আমাদের while লুপ থেকে বেরিয়ে আসতে হবে। এর জন্য, আমরা কেবল cv2.wait. Key () প্রয়োগ করতে পারি। মূলত এটি সাড়া দেওয়ার আগে অপেক্ষা করার সময় বলে। সুতরাং যদি আপনি 0 পাস করেন তবে এটি অসীম অপেক্ষা করবে এবং 0xFF আর্কিটেকচারকে 64 বিট বলে। "ord ()" অক্ষরটি নির্দিষ্ট করে যেটি চাপলে ব্রেক কমান্ডটি যদি ব্লক হবে এবং এটি লুপ থেকে বেরিয়ে আসবে।
তারপর cap.release () ভিডিও রেকর্ডার বন্ধ করে দেয় এবং cv2.destroyAllWindows () সব খোলা উইন্ডো বন্ধ করে দেয়।
যদি আপনার কোন সমস্যা থাকে, দয়া করে আমাকে জানান।
সোর্স কোডের লিঙ্ক:
প্রস্তাবিত:
DIY -- কিভাবে একটি মাকড়সা রোবট তৈরি করা যায় যা Arduino Uno ব্যবহার করে স্মার্টফোন ব্যবহার করে নিয়ন্ত্রণ করা যায়: 6 টি ধাপ
DIY || কিভাবে একটি স্পাইডার রোবট তৈরি করা যায় যা Arduino Uno ব্যবহার করে স্মার্টফোন ব্যবহার করে নিয়ন্ত্রণ করা যায়: স্পাইডার রোবট তৈরির সময় কেউ রোবটিক্স সম্পর্কে অনেক কিছু শিখতে পারে। এই ভিডিওতে আমরা আপনাকে দেখাবো কিভাবে একটি স্পাইডার রোবট তৈরি করা যায়, যা আমরা আমাদের স্মার্টফোন ব্যবহার করে পরিচালনা করতে পারি (Androi
Arduino ব্যবহার করে ইন্টারনেট ব্যবহার করে সারা বিশ্বে LED নিয়ন্ত্রণ করুন: 4 টি ধাপ
Arduino ব্যবহার করে ইন্টারনেট ব্যবহার করে সারা বিশ্বে নিয়ন্ত্রণ নেতৃত্ব: হাই, আমি ithত্বিক। আমরা আপনার ফোন ব্যবহার করে একটি ইন্টারনেট নিয়ন্ত্রিত নেতৃত্ব তৈরি করতে যাচ্ছি।
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ: 6 টি ধাপ
রাস্পবেরি পাই এবং AIS328DQTR ব্যবহার করে পাইথন ব্যবহার করে ত্বরণ পর্যবেক্ষণ করা: অ্যাক্সিলারেশন সীমিত, আমি মনে করি পদার্থবিজ্ঞানের কিছু আইন অনুসারে।- টেরি রিলি একটি চিতা তাড়া করার সময় আশ্চর্যজনক ত্বরণ এবং গতিতে দ্রুত পরিবর্তন ব্যবহার করে। দ্রুততম প্রাণীটি একবারে উপকূলে শিকারের জন্য তার সর্বোচ্চ গতি ব্যবহার করে। দ্য
DIY MusiLED, সঙ্গীত সিঙ্ক্রোনাইজড LEDs এক-ক্লিক উইন্ডোজ এবং লিনাক্স অ্যাপ্লিকেশন (32-বিট এবং 64-বিট)। পুনরায় তৈরি করা সহজ, ব্যবহার করা সহজ, পোর্টে সহজ।: 3 টি ধাপ
DIY MusiLED, সঙ্গীত সিঙ্ক্রোনাইজড LEDs এক-ক্লিক উইন্ডোজ এবং লিনাক্স অ্যাপ্লিকেশন (32-বিট এবং 64-বিট)। পুনরায় তৈরি করা সহজ, ব্যবহার করা সহজ, পোর্টে সহজ। এই প্রকল্পটি আপনাকে আপনার আরডুইনো বোর্ডে 18 টি LED (6 লাল + 6 নীল + 6 হলুদ) সংযুক্ত করতে এবং আপনার কম্পিউটারের সাউন্ড কার্ডের রিয়েল-টাইম সংকেত বিশ্লেষণ করতে এবং তাদের রিলেতে সহায়তা করবে। বীট প্রভাব (ফাঁদ, উচ্চ টুপি, কিক) অনুযায়ী তাদের আলো জ্বালানোর জন্য LEDs
GIMP ব্যবহার করে মানুষ/মানুষ/প্রাণী/রোবটকে সত্যিই সুন্দর/উজ্জ্বল তাপদৃষ্টি (আপনার পছন্দের রঙ) করার মতো একটি সহজ/সহজ/জটিল উপায় নয়: 4 টি ধাপ
GIMP ব্যবহার করে মানুষ/মানুষ/প্রাণী/রোবটকে দেখতে সত্যিই সহজ/সহজ/জটিল উপায় নয় যে তারা সত্যিই শীতল/উজ্জ্বল তাপদর্শন (আপনার পছন্দের রঙ) ব্যবহার করে: পড়ুন … শিরোনাম