اپن سی وی (Open Source Computer Vision Library)، کتابخانه ی متن باز بینایی کامپیوتر، تحت مجوز BSD منتشر شده است و از این رو برای استفاده دانشگاهی و تجاری رایگان است.
OpenCV در سال ۱۹۹۹ توسط Gary Bradsky در اینتل بنا نهاده و اولین بار در سال ۲۰۰۰ منتشر شد. در حال حاضر OpenCV، بسیاری از الگوریتم های مربوط به بینایی کامپیوتر و یادگیری ماشین را پشتیبانی می کند و روز به روز گسترش می یابد. OpenCV از طیف گسترده ای از زبان های برنامه نویسی مانند C، Python، Java و غیره پشتیبانی می کند و در سیستم عامل های مختلف از جمله Windows، Linux، OS X، Android و iOS در دسترس است.
OpenCV برای بهبود محاسبات و برنامه های بی درنگ طراحی شده است .
بینایی رایانهای ( Computer vision) یا بینایی ماشین ( Machine vision) یکی از شاخههای علوم کامپیوتر است که شامل روشهای مربوط به دستیابی تصاویر، پردازش، آنالیز و درک محتوای آنها است. معمولاً این پردازشها، تصاویر تولید شده در دنیای واقعی را به عنوان ورودی دریافت و دادههایی عددی یا سمبلیک را به عنوان خروجی تولید میکنند. یکی رویههای توسعهٔ این شاخه بر اساس شبیهسازی توانایی بینایی انسان در رایانه است.
بینایی رایانهای به مسائل مختلفی از جمله استخراج داده از عکس، فیلم، مجموعه چند عکس از زوایای مختلف و پردازش تصاویر پزشکی میپردازد. معمولاً ترکیبی از روشهای مربوط به پردازش تصاویر و ابزارهای یادگیری ماشینی و آمار برای حل مسایل مختلف در این شاخه استفاده میگردد. ویکی.
OpenCV یک کتابخانه به زبان c++، همراه ماژولهای زیادی که در زمینه بینایی کامپیوتر پوشش دهنده است، میباشد.
OpenCV-Python یک کتابخانه پایتون است که برای حل مشکلات بینایی کامپیوتر طراحی شده است. در واقع از پایتون به عنوان رابطی برای استفاده از این کتابخانه استفاده میشود. علاوه بر C ++ (و C)، پشتیبانی از پایتون به عنوان یک زبان برنامه نویسی ساده تر از طریق یک رابط پایتون در بالای کد پایه C ++ وجود دارد. در واقع پایتون به عنوان یک اسکریپت بر روی سی ++ سوار میشود.
پایتون یک زبان برنامه نویسی هدف است که توسط Guido van Rossum طراحی و عمدتا به دلیل سادگی و خوانایی بالا، بسیار محبوب شده است. پایتون، برنامه نویس را قادر می سازد تا ایده هایش را در خطوط کمتری بیان کند. در مقایسه با زبانهایی مانند C++ / C ، پایتون کندتر است. پایتون، به راحتی می تواند به وسیله C / C ++ گسترش یابد، و ما را قادر می سازد تا کد C / C ++ را به صورت محاسباتی پرقدرت بنویسیم و پلاگین های پایتون را ایجاد کنیم که می تواند به عنوان ماژول های پایتون استفاده شود.
این موضوع دو مزیت دارد:
۱٫ کد پایتون به اندازه C / C ++سریع میشود(چون C ++ واقعی در پس زمینه، کار می کند) .
۲٫ استفاده از کد پایتون نسبت به C / C ++ آسان تر می شود.
OpenCV-Python از کتابخانه Numpy استفاده می کند که یک کتابخانه بسیار کارآمد برای عملیات عددی با سینتکس MATLAB است. تمام ساختارهای آرایه OpenCV به آرایه های Numpy تبدیل می شوند. این باعث می شود که ادغام با سایر کتابخانه هایی که از Numpy استفاده می کنند راحت تر باشد مانند SciPy و Matplotlib.