کتابخانه OpenVIDIA و GPUCV
1-كتابخانهOpenVIDIA
OpenVIDIA نام كتابخانه متنبازي است كه در دانشگاه تورنتو براي پيادهسازي الگوريتمهاي پردازش تصوير بر روي پردازندهگرافيكي نگاشته شده است. اين كتابخانه با استفاده از API گرافيكي OpenGL و زبان Cg توسعه داده شده است و در سال 2005 برنده جايزه نرمافزار چندرسانهاي متنباز گشته.
OpenVIDIA واسط سادهاي را براي جهت توسعه برنامههاي پردازش تصوير و بينايي ماشين ارائه ميدهد كه در آن الگوريتمهاي متداول پردازش تصوير مانند فيلترهاي يافتن لبه ، قابل استفاده ميباشد.
يكي ديگر از امكانات اين كتابخانه قابليت آن در پشتيباني از چندين كارتگرافيك ميباشد به اين ترتيب ميتوان آن را راهكار اقتصادي مناسبي جهت ايجاد يك ماشين پردازش تصوير قدرتمند بيان كرد (شكل 3).

شكل 3- يك كامپيوتر با هفت كارتگرافيك
با اين وجود، اين كتابخانه كاملا نتوانسته است توابع API گرافيكي را از ديد برنامهنويس مخفي سازد، لذا برنامه نويس نياز دارد تا جهت مقدار دهي به توابع گرافيكي به كارگرفته شده و بافرهاي مورد نياز، خود را اندكي درگير API گرافيكي كند.
2-كتابخانه GPUCV
اين كتابخانه رايگان كه در پروژهاي به نام Vision-پردازندهگرافيكي در دانشگاه ريمز فرانسه توسعه يافته است، جهت پيادهسازي عملگرهاي الگوريتمهاي بيناييماشين بر روي پردازندهگرافيكي ايجاد شده و به عنوان نسخه الحاقي كتابخانه معروف Intel OpenCV عمل ميكند.
جهت پياده سازي يك الگوريتم بيناييماشين GPUCV محيط برنامهنويسي مشابه OpenCV را در اختيار برنامهنويسان قرار ميدهد تا به سادگي بتوانند با تغيير نام عملگرها و عملوندهاي خود الگوريتم را در حداقل زمان از بارپردازشي پردازندهمركزي به پردازندهگرافيكي منتقل كنند. بنابراين براي كاركردن با اين كتابخانه، نيازي به فراگيري دستورات API گرافيكي و مراجع سايهزنهاي كارت گرافيك نيست و GPUCV توانسته جزئيات گرافيكي برنامهنويسي پردازندهگرافيكي را از ديد برنامهنويسان پهنان سازد.
توابع عملياتي GPUCV همانند عملگرهاي OpenCV فراخواني شده و از ساختمان داده مشابهي بهره ميبرند به همين خاطر ميتوان الگوريتم تركيبي را از عملگرهاي GPUCV و OpenCV توسعه داد كه بسته به انتخاب برنامهنويس بخشي از عمليات توسط پردازندهمركزي و بخشي توسط پردازندهگرافيكي پردازش ميشود.
بر اساس نتايج آزمايشهاي صورت گرفته كارايي عملگرهاي GPUCV با عملگرهاي OpenCV مقايسه شده است كه در جدول شماره 1 نشان داده شده است. همانطور كه مشاهده ميكنيد بدون احتساب زمان Upload عملگرهاي GPUCV حدود 5 برابر سريعتر از عملگرهاي OpenCV هستند كه اين نسبت برتري با احتساب زمان Upload به حدود 2 برابر ميرسد.
جدول 1- مقايسه عملكرد GPUCV با OpenCV
| GPUCV | OpenCV | Actions |
| 10 ms | N.A. | Loading Image 512×512 to پردازندهگرافيكي |
| 3.3 ms | 24 ms | cverode 3 |
| 3.2 ms | 22 ms | cvdilate 3 |
| 8.1 ms | 31 ms | cverode 5 |
| 6.4 ms | 28 ms | cvdilate 5 |
| 21 ms | N.A. | Getting result Image 512×512 from پردازندهگرافيكي (Optional) |
| 52 ms | 105 ms | Total processing time including image transfer |
| 21 ms | 105 ms | Total processing time without image transfer |