سؤال

وهذا هو السؤال واسع إلى حد ما. ما هي الأدوات / المكتبات موجودة لاتخاذ صورتين ليست متطابقة، لكنها متشابهة للغاية، والتعرف على الاختلافات المحددة بينهما؟

ومثال سيكون لالتقاط صورة من بلدي الأريكة يوم الجمعة بعد ان يتم صديقتي التنظيف وقبل عطلة نهاية اسبوع طويلة من وجود أصدقاء أكثر، وشرب، ولعب موسيقى الروك. بعد يومين التقاط صورة الثانية من الأريكة. الإضاءة متطابقة، الأريكة لم تتحرك لmilimeter، وأنا استخدم حامل ثلاثي القوائم في مكان ثابت.

ما هي الأدوات يمكن استخدامها لتوليد فرق من الصور، أو صورة خريطة التمثيل اللوني الثالثة من الخلافات؟ هل هناك أي أدوات ل. NET؟

هل كانت مفيدة؟

المحلول

المقالة على CodeProject. كتب C # التطبيق باستخدام AForge.NET مكتبة رؤية الكمبيوتر للكشف عن الحركة. على موقع AForge.NET، وهناك مناقشة اثنين من الاختلافات إطار لكشف الحركة.

نصائح أخرى

وهذا يعتمد إلى حد كبير على شكل صورة والضغط. ولكن، في نهاية المطاف، وربما كنت أخذ اثنين من المنقطات ومقارنتها بكسل بكسل.

ونلقي نظرة على إدراكي صورة الفرق المساعدة .

والطريقة الأكثر وضوحا لمعرفة كل صغيرة والفرق عادة اقترب منه، غير محسوس، سيكون لXOR البيانات بكسل. إذا كانت الإضاءة حتى مختلفة قليلا، على الرغم من أنه قد يكون أكثر من اللازم. يفرق (طرح) البيانات بكسل قد يكون أكثر ما كنت تبحث عنه، اعتمادا على كيفية خفية هي الخلافات.

ومكان واحد للبدء هو مع مكتبة معالجة الصور الغنية مثل IM . يمكنك اشتغل مع المشغلين تفاعلي مع أداة IMlab ، الذي يطلق عليه مباشرة من C أو C ++ أو استخدام لها حقا لوا لائق ملزمة لطرده من لوا. وهو يدعم مجموعة واسعة من العمليات على الصور النقطية، وكذلك مكتبة للتوسيع من تنسيقات الملفات.

وحتى إذا لم تكن قد انتقلت عمدا أي شيء، قد ترغب في استخدام خوارزمية مثل فرزت للحصول جيدة الفرعي بكسل المواءمة بين نوعية الإطارات. إلا إذا كنت <م> تريد لعلاج الكاميرا كما الثابتة وكشف حركة الأريكة كذلك.

ولقد كتبت هذا التطبيق. NET مجانا باستخدام أدوات تجعل شركتي (DotImage). أنه يحتوي على خوارزمية بسيطة جدا، ولكن هو رمز المصدر المفتوح إذا كنت تريد أن تلعب معها - هل يمكن أن تتكيف مع الخوارزمية لفصول صورة. NET إذا كنت لا ترغب في شراء نسخة من DotImage

HTTP: / /www.atalasoft.com/cs/blogs/31appsin31days/archive/2008/05/13/image-difference-utility.aspx

وانها مسألة مثيرة للاهتمام. لا أستطيع أن يحولك إلى أي مكتبات محددة، ولكن العملية كنت طالبا عنه هو قضية الحد الأدنى للتعويض الحركة في الأساس. هذه هي الطريقة التي MPEG (MP4، DIVX، أيا كان) فيديو يدير لضغط الفيديو بشكل جيد للغاية. قد ننظر إلى MPEG عن بعض المعلومات حول الطريقة التي يتم بها تنفيذ تلك الخوارزميات تعويض الحركة.

وشيء آخر أن نأخذ في الاعتبار. ضغط JPEG هو ضغط على أساس كتلة. الكثير من الفوائد التي تجلب MPEG من الأشياء هو أن تفعل فعلا مقارنة كتلة. إذا كان معظم الصور الخاصة بك (ويقول الخلفية) هو نفسه من صورة واحدة إلى أخرى، وتلك الكتل على حالها. انها طريقة سريعة للحد من كمية البيانات اللازمة لأن تقارن.

ومجرد استخدام الطبقات صافي التصوير، وإنشاء صورة نقطية جديدة () × 2 وننظر إلى R & G & B قيم كل بيكسل، يمكنك أيضا أن ننظر في A (ألفا / الشفافية) القيم إذا كنت ترغب في عند تحديد الفرق.

وأيضا مذكرة، وذلك باستخدام getPixel (ص، س) طريقة يمكن أن تكون بطيئة إلى حد كبير، وهناك طريقة أخرى للحصول على صورة كاملة (أقل أناقة) وجي من خلال ذلك بنفسك كل إذا كنت أتذكر كان يطلق عليه getBitmap أو شيئا من هذا القبيل، والنظر في الطبقات التصوير / نقطية وقراءة بعض tutes هي في الواقع كل ما تحتاجه وليس من الصعب أن الاستخدام، لا تذهب طرف ثالث إلا إذا كنت مضطرا إلى ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top