Using OpenCV in Python - Lesson 7 - Thresholding
Anaconda - Jupyter
OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being an Apache 2 licensed product, OpenCV makes it easy for businesses to utilize and modify the code.
The library has more than 2500 optimized algorithms, which includes a comprehensive set of both classic and state-of-the-art computer vision and machine learning algorithms. These algorithms can be used to detect and recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, produce 3D point clouds from stereo cameras, stitch images together to produce a high resolution image of an entire scene, find similar images from an image database, remove red eyes from images taken using flash, follow eye movements, recognize scenery and establish markers to overlay it with augmented reality, etc. OpenCV has more than 47 thousand people of user community and estimated number of downloads exceeding 18 million. The library is used extensively in companies, research groups and by governmental bodies.
Along with well-established companies like Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota that employ the library, there are many startups such as Applied Minds, VideoSurf, and Zeitera, that make extensive use of OpenCV. OpenCV’s deployed uses span the range from stitching streetview images together, detecting intrusions in surveillance video in Israel, monitoring mine equipment in China, helping robots navigate and pick up objects at Willow Garage, detection of swimming pool drowning accidents in Europe, running interactive art in Spain and New York, checking runways for debris in Turkey, inspecting labels on products in factories around the world on to rapid face detection in Japan.
It has C++, Python, Java and MATLAB interfaces and supports Windows, Linux, Android and Mac OS. OpenCV leans mostly towards real-time vision applications and takes advantage of MMX and SSE instructions when available. A full-featured CUDAand OpenCL interfaces are being actively developed right now. There are over 500 algorithms and about 10 times as many functions that compose or support those algorithms. OpenCV is written natively in C++ and has a templated interface that works seamlessly with STL containers.
Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation via the off-side rule.
Image processing is the process of transforming an image into a digital form and performing certain operations to get some useful information from it. The image processing system usually treats all images as 2D signals when applying certain predetermined signal processing methods.
Python is dynamically typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly procedural), object-oriented and functional programming. It is often described as a "batteries included" language due to its comprehensive standard library.
استخدام أوبن سي في لغة بايثون - الدرس 7 - التحديد و الاقتطاع
أوبن سي في (مكتبة رؤية الكمبيوتر مفتوحة المصدر) هي مكتبة برمجيات رؤية الكمبيوتر والتعلم الآلي مفتوحة المصدر. تم بناء أوبن سي في لتوفير بنية تحتية مشتركة لتطبيقات رؤية الكمبيوتر ولتسريع استخدام تصور الآلة في المنتجات التجارية. نظرًا لكونه منتجًا مرخصًا من أباتشي 2 ، فإن أوبن سي في يجعل من السهل على الشركات استخدام الكود وتعديله.
يحتوي على واجهات C ++ و بايثون و جافا و ماتلاب ويدعم أنظمة التشغيل ويندوز و لينوكس و أندرويد و نظام ماك . يميل أوبن سي في في الغالب نحو تطبيقات الرؤية في الوقت الفعلي ويستفيد من تعليمات عند توفرها. يتم تطوير واجهات أوبن سي أل كاملة الميزات بنشاط في الوقت الحالي. هناك أكثر من 500 خوارزمية وحوالي 10 أضعاف الوظائف التي تؤلف أو تدعم تلك الخوارزميات. أوبن سي في مكتوب أصلاً بلغة C ++ وله واجهة نموذجية تعمل بسلاسة مع حاويات STL.
بايثون هي لغة برمجة عالية المستوى للأغراض العامة. تؤكد فلسفة التصميم الخاصة بها على قابلية قراءة الكود باستخدام مسافة بادئة كبيرة عبر قاعدة خارج الجانب.
معالجة الصور هي عملية تحويل الصورة إلى شكل رقمي وتنفيذ عمليات معينة للحصول على بعض المعلومات المفيدة منها. عادةً ما يتعامل نظام معالجة الصور مع جميع الصور على أنها إشارات ثنائية الأبعاد عند تطبيق بعض طرق معالجة الإشارات المحددة مسبقًا.
يتم كتابة بايثون ديناميكيًا وجمع البيانات المهملة. وهو يدعم نماذج برمجة متعددة ، بما في ذلك البرمجة المهيكلة (الإجرائية بشكل خاص) والبرمجة الموجهة للكائنات والوظيفية. غالبًا ما توصف بأنها لغة "مضمنة بالبطاريات" بسبب مكتبتها القياسية الشاملة.