সুচিপত্র:
- ধাপ 1: স্বীকৃত বস্তুর উপর একটি আয়তক্ষেত্র আঁকা
- ধাপ 2: বস্তুটি সরানো হয়েছে এমন পথ খুঁজে বের করুন
- ধাপ 3: উভয় কোড সংহত করা
ভিডিও: Opencv অবজেক্ট ট্র্যাকিং: 3 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:57
মুভিং অবজেক্ট ডিটেকশন হল কম্পিউটার ভিশন এবং ইমেজ প্রসেসিংয়ে ব্যবহৃত একটি কৌশল। একটি চলমান বস্তু সনাক্ত করা হয়েছে কিনা তা নির্ধারণ করার জন্য একটি ভিডিও থেকে একাধিক পরপর ফ্রেম বিভিন্ন পদ্ধতি দ্বারা তুলনা করা হয়।
মুভিং অবজেক্টস ডিটেকশন বিস্তৃত অ্যাপ্লিকেশনের জন্য ব্যবহার করা হয়েছে যেমন ভিডিও নজরদারি, কার্যকলাপ স্বীকৃতি, রাস্তার অবস্থা পর্যবেক্ষণ, বিমানবন্দর নিরাপত্তা, সামুদ্রিক সীমান্তে সুরক্ষা পর্যবেক্ষণ ইত্যাদি।
মুভিং অবজেক্ট ডিটেকশন হল একটি নির্দিষ্ট স্থানে বা অঞ্চলে কোনো বস্তুর শারীরিক গতিবিধি চিনে নেওয়া। [2] চলমান বস্তু এবং স্থির অঞ্চল বা অঞ্চলের মধ্যে বিভাজন কাজ করে, চলমান বস্তুর গতি ট্র্যাক করা যায় এবং এইভাবে পরে বিশ্লেষণ করা যায়। এটি অর্জনের জন্য, বিবেচনা করুন একটি ভিডিও একটি কাঠামো যা একক ফ্রেমের উপর নির্মিত, মুভিং অবজেক্ট ডিটেকশন হল ফোরগ্রাউন্ড মুভিং টার্গেট (গুলি) খুঁজে বের করা, প্রতিটি ভিডিও ফ্রেমে অথবা শুধুমাত্র যখন মুভিং টার্গেট ভিডিওতে প্রথম চেহারা দেখায়।
আমি রঙের উপর ভিত্তি করে বস্তু সনাক্ত এবং ট্র্যাক করতে Opnecv এবং Python সমন্বয় ব্যবহার করতে যাচ্ছি
ধাপ 1: স্বীকৃত বস্তুর উপর একটি আয়তক্ষেত্র আঁকা
যদি আপনার পিসিতে পাইথন বা ওপেনসিভি না থাকে তবে অনুগ্রহ করে নীচের ইন্সট্রাকটেবলগুলি অনুসরণ করুন
এখানে পাইথন কোড:
np হিসাবে cv2import numpy আমদানি করুন
ক্যাপ = সিভি ২. ভিডিওক্যাপচার (0)
যখন সত্য:
_, ফ্রেম = cap.read () hsv = cv2.cvtColor (ফ্রেম, cv2. COLOR_BGR2HSV)
নিম্ন_ হলুদ = np.array ([20, 110, 110])
উপরের_ হলুদ = np.array ([40, 255, 255])
হলুদ_মাস্ক = cv2.in রেঞ্জ (hsv, নিম্ন_ হলুদ, উপরের_ হলুদ)
(_, কনট্যুরস, _) = cv2.findContours (হলুদ_মাস্ক, cv2. RETR_TREE, cv2. CHAIN_APPROX_SIMPLE)
কনট্যুরে কনট্যুরের জন্য:
এলাকা = cv2.contourArea (কনট্যুর)
যদি (এলাকা> 800):
x, y, w, h = cv2.boundingRect (contour) frame = cv2.rectangle (frame, (x, y), (x+w, y+h), (0, 0, 255), 10)
cv2.imshow ("ট্র্যাকিং", ফ্রেম)
k = cv2.waitKey (5) & 0XFF
যদি k == 27: বিরতি
cv2.destroyAllWindows ()
cap.release ()
ধাপ 2: বস্তুটি সরানো হয়েছে এমন পথ খুঁজে বের করুন
পথ ট্রেস করতে:
i এর জন্য পরিসরে (1, len (center_points)): b = random.randint (230, 255) g = random.randint (100, 255) r = random.randint (100, 255) যদি math.sqrt (((center_points [i - 1] [0] - center_points [0]) ** 2) + ((center_points [i - 1] [1] - center_points [1]) ** 2)) <= 50: cv2.line (ফ্রেম, কেন্দ্র_পয়েন্ট [i - 1], কেন্দ্র_পয়েন্ট , (b, g, r), 4)
ধাপ 3: উভয় কোড সংহত করা
আমি উভয় কোড সংহত করতে যাচ্ছি
আমদানি cv2import numpy হিসাবে np আমদানি র্যান্ডম থেকে সংগ্রহ আমদানি ডেক
ক্যাপ = cv2। ভিডিও ক্যাপচার (1)
# সমস্ত পয়েন্টের ট্র্যাক রাখতে যেখানে বস্তু পরিদর্শন করেছে কেন্দ্র_পয়েন্ট = ডেক ()
যখন সত্য:
# ফ্রেম পড়ুন এবং ফ্লিপ করুন, ফ্রেম = ক্যাপ.রেড () ফ্রেম = cv2.flip (ফ্রেম, 1)
# ফ্রেমটা একটু ঝাপসা করুন
blur_frame = cv2। গাউসিয়ান ব্লুর (ফ্রেম, (7, 7), 0)
# BGR থেকে HSV রঙ বিন্যাসে রূপান্তর করুন
hsv = cv2.cvtColor (blur_frame, cv2. COLOR_BGR2HSV)
# সনাক্ত করতে এইচএসভি রঙের নিম্ন এবং উপরের পরিসীমা নির্ধারণ করুন। এখানে নীল
lower_blue = np.array ([100, 50, 50]) আপার_ব্লু = np.array ([140, 255, 255]) মাস্ক = cv2.inRange (hsv, lower_blue, upper_blue)
# উপবৃত্তাকার কার্নেল তৈরি করুন
কার্নেল = cv2.getStructuringElement (cv2. MORPH_ELLIPSE, (15, 15))
# খোলার রূপ (ক্ষয় পরে প্রসারণ)
মাস্ক = cv2. morphologyEx (মুখোশ, cv2. MORPH_OPEN, কার্নেল)
# সমস্ত রূপরেখা খুঁজুন
কনট্যুর, অনুক্রম = cv2.findContours (mask.copy (), cv2. RETR_LIST, cv2. CHAIN_APPROX_SIMPLE) [-2:]
যদি len (contours)> 0:
# সবচেয়ে বড় কনট্যুর খুঁজুন বৃহত্তম_কন্টুর = সর্বোচ্চ (কনট্যুর, কী = সিভি ২. কন্টুর এরিয়া)
# কনট্যুরের কেন্দ্র খুঁজুন এবং ভরাট বৃত্ত আঁকুন
মুহুর্ত = cv2.moments (বৃহত্তম_contour) centre_of_contour = (int (মুহূর্ত ['m10'] / মুহূর্ত ['m00']), int (মুহূর্ত ['m01'] / মুহূর্ত ['m00'])) cv2.circle (ফ্রেম, centre_of_contour, 5, (0, 0, 255), -1)
# বৃত্ত দিয়ে কনট্যুর আবদ্ধ করুন
ellipse = cv2.fitEllipse (বৃহত্তম_contour) cv2.ellipse (ফ্রেম, ellipse, (0, 255, 255), 2)
# কনট্যুরের কেন্দ্রটি সংরক্ষণ করুন যাতে আমরা এটি ট্র্যাক করে লাইন আঁকতে পারি
center_points.appendleft (centre_of_contour)
# কনট্যুরের সেন্টার পয়েন্ট থেকে লাইন আঁকুন
i এর জন্য পরিসরে (1, len (center_points)): b = random.randint (230, 255) g = random.randint (100, 255) r = random.randint (100, 255) যদি math.sqrt (((center_points [i - 1] [0] - center_points [0]) ** 2) + ((center_points [i - 1] [1] - center_points [1]) ** 2)) <= 50: cv2.line (ফ্রেম, কেন্দ্র_পয়েন্ট [i - 1], কেন্দ্র_পয়েন্ট , (b, g, r), 4)
cv2.imshow ('মূল', ফ্রেম)
cv2.imshow ('মুখোশ', মুখোশ)
k = cv2.waitKey (5) & 0xFF
যদি k == 27: বিরতি
cv2.destroyAllWindows ()
cap.release ()
প্রস্তাবিত:
মাইক্রো: বিট এমইউ ভিশন সেন্সর - অবজেক্ট ট্র্যাকিং: 7 টি ধাপ
মাইক্রো: বিট এমইউ ভিশন সেন্সর - অবজেক্ট ট্র্যাকিং: সুতরাং এই নির্দেশে আমরা এই নির্দেশনায় আমরা যে স্মার্ট কারটি তৈরি করি তার প্রোগ্রামিং শুরু করতে যাচ্ছি এবং আমরা এই নির্দেশনায় একটি এমইউ ভিশন সেন্সর ইনস্টল করেছি। আমরা মাইক্রো প্রোগ্রাম করতে যাচ্ছি: কিছু সহজ বস্তু ট্র্যাকিং সঙ্গে বিট, তাই th
DIY স্মার্ট রোবট ট্র্যাকিং কার কিটস ট্র্যাকিং কার ফটোসেনসিটিভ: 7 ধাপ
DIY স্মার্ট রোবট ট্র্যাকিং কার কিটস ট্র্যাকিং কার ফটোসেনসিটিভ: সিনোনিং রোবট দ্বারা ডিজাইন আপনি ট্র্যাকিং রোবট কার থেকে কিনতে পারেন থিওরি এলএম 393 চিপ দুটি ফটোরিসিস্টারের তুলনা করুন, যখন হোয়াইটের উপর একটি সাইড ফটোরিসিস্টার এলইডি থাকে তখনই মোটরের অন্য পাশ থেমে যাবে, মোটরের অন্য পাশে স্পিন আপ, যাতে
রঙ সনাক্তকরণ ভিত্তিক অবজেক্ট ট্র্যাকিং: 10 টি ধাপ
রঙ সনাক্তকরণ ভিত্তিক অবজেক্ট ট্র্যাকিং: গল্প আমি রাস্পবেরি পিআই এবং ওপেন সিভি ব্যবহার করে ইমেজ প্রসেসিং শেখার জন্য এই প্রকল্পটি করেছি। এই প্রকল্পটিকে আরো আকর্ষণীয় করার জন্য আমি দুটি SG90 Servo মোটর এবং এটিতে মাউন্ট ক্যামেরা ব্যবহার করেছি। একটি মোটর অনুভূমিকভাবে চলাচল করত এবং দ্বিতীয় মোটর উল্লম্বভাবে চলাচল করত
রাস্পবেরি পাই - ওপেনসিভি অবজেক্ট ট্র্যাকিং সহ স্বায়ত্তশাসিত মার্স রোভার: 7 টি ধাপ (ছবি সহ)
রাস্পবেরি পাই - ওপেনসিভি অবজেক্ট ট্র্যাকিং সহ স্বায়ত্তশাসিত মার্স রোভার: রাস্পবেরি পাই 3 দ্বারা চালিত, ওপেন সিভি অবজেক্ট রিকগনিশন, অতিস্বনক সেন্সর এবং গিয়ার ডিসি মোটর। এই রোভার ট্রেনিং করা যেকোন বস্তুকে ট্র্যাক করতে পারে এবং যে কোনো ভূখণ্ডে চলে যেতে পারে
অবজেক্ট ট্র্যাকিং - ক্যামেরা মাউন্ট কন্ট্রোল: 4 টি ধাপ
অবজেক্ট ট্র্যাকিং - ক্যামেরা মাউন্ট কন্ট্রোল: হ্যালো সবাই, এই নির্দেশনায় আমি আপনাকে আমার অবজেক্ট ট্র্যাকিং প্রকল্পের জন্য অগ্রগতি দেখাব। এখানে আপনি পূর্ববর্তী নির্দেশনা খুঁজে পেতে পারেন: https://www.instructables.com/id/Object-Tracking/ এবং এখানে আপনি সমস্ত টি সহ একটি ইউটিউব প্লেলিস্ট খুঁজে পেতে পারেন