نوشته شده توسط : سجاد
با تشکر از کسانیکه مارو دنبال کردن و کمک کردن که این وبلاگ پربارتر بشه

 وبلاگ پردازش تصویر 10 ساله شد

سپاس از همه



:: بازديد از اين مطلب : 5
|
امتياز مطلب : 0
|
تعداد امتيازدهندگان : 0
|
مجموع امتياز : 0
تاريخ انتشار : 17 آذر 1396 | نظرات ()

نوشته شده توسط : سجاد

همونطور که قبلا گفتم عکس RGB از سه ماتریس M*N تشکلیل شده که برای دسترسی بهشون می نویسیم:



R=O(:,:,1)
G=O(:,:,2)
B=O(:,:,3)


K
هر کدام از این ماتریس ها به صورت جدا که نشان داده شوند GRAY-SCALE خواهند بود برای بهتر شدن کار می توان از درایه های ماتریس ها میانگین گرفت:
برای این برنامه داریم:


o=imread('eye.jpg');
imshow(o);
r=o(:,:,1);
g=o(:,:,2);
b=o(:,:,3);

for i=(1:600)
    for j=(1:600)
        s(i,j)=(r(i,j)+g(i,j)+b(i,j))/3;
    end
end
imshow(s);

k

خوب به غیر از روش بالا می توان از دستور RGB2GRAY متلب هم برای این کار استفاده کرد چون متلب مولفه های دیگر رو هم مد نظر میگیره کیفیت بسیار بهتری از کار ما خواهد داشت پس فقط کافیه عکس رو بخونید و بعد دستور زیر رو بنویسید:



k=rgb2gray(o);


:: بازديد از اين مطلب : 4
|
امتياز مطلب : 0
|
تعداد امتيازدهندگان : 0
|
مجموع امتياز : 0
تاريخ انتشار : 17 آذر 1396 | نظرات ()

نوشته شده توسط : سجاد
برای اینکار یک حد یا تریشهلد میگیریم و پیکسل های با مقدار بزرگتر از اون رو صفر و مقادیر کوچکتر رو به 1 تبدیل می کنیم.
توجه کنید که در حوزه GRAY SCALE عدد صفر معادل سیاه و عدد 255 معادل سفید هست و در BW هم به ترتیب 0 و 1 این مقادیر رو دارند.

برنامه به این شکل خواهد بود:

o=imread('eye2.tif');
imshow(o);
imhist(o);
for i=(1:600)
    for j=(1:600)
        if o(i,j)<125
            l(i,j)=0;
        else
            l(i,j)=1;
        end
    end
end

imshow(l);
imhist(l);

1- این دستور باعث میشه عکس ما داخل ماتریس o ذخیره بشه.
2- این دستور باعث نمایش عکس ذخیره شده در ماتریس o می شود.
3-این دستور باعث نمایش هیستوگرام عکس میشه.
4و5 - دو حلقه تو در تو برای حرکت داخل ماتریس
6- شرط برای تبدیل مقادیر 125 به پایین به مقدار 0 و تبدیل مقادیر بیشتر از 125 با 1
7- قرار دادن مقدیر جدید در ماتریس L
8- نشان دادن تصویر ماتریس L
9- نشان دادن هیستوگرام L

:: بازديد از اين مطلب : 4
|
امتياز مطلب : 0
|
تعداد امتيازدهندگان : 0
|
مجموع امتياز : 0
تاريخ انتشار : 17 آذر 1396 | نظرات ()

نوشته شده توسط : سجاد

از PCA میشه برای استخراج ویژگی یا همون Feature Extraction هم استفاده کرد .. PCA ماهیتا چیکار میکنه؟ عناصر پایه ای یه ماتریس (مثلا یه تصویر) رو پیدا میکنه به عنوان بردارهای ویژه و بر حسب مقادیر ویژه ای که دارن مرتبشون میکنه .. این بردار ویژه ها از ماتریس کواریانس به دست میان .. حالا اگه ما ماتریس رو با تمام بردارهای ویژه اش نمایش بدیم؛ تصویر مثل تصویر واقیه .. مثل که چه عرض کنم، خود خودشه .. چون تغییری توش ندادیم .. امــا اگه بیایم از بردارهای ویژه بر حسب مقادیر ویژه ی کم ارزشی که دارن کم کنیم و تصویر رو نشون بدیم، میبینیم که تصویر از نظر کیفیت یه کم بدتر شده .. این بدی وقتی بیشتر میشه که ما بردار ویژه هایی با مقادیر ویژه ی بیشتر رو حذف کنیم .. دقیقا عبارت درستی که میشه به کار برد اینه که ما داریم اطلاعات تصویر رو از بین میبریم و بهای این کار هم با حذف بردارهای ویژه ی تصویر پرداخته میشه .. به خاطر همینه که میگن PCA کاهش بعد انجام میده .. حالا به قضیه یه جور دیگه نگاه کنیم . شما PCA زدید روی تصویرتون و مثلا ده تا بعد اولش رو نگه داشتید .. (بعد یعنی همون بردار ویژه هایی که صحبتش بود) .. الان این ماتریس جدید رو (منظورم تصویر کاهش یافته از نظر بعده) اگه نمایش بدیم میبینیم که کیفیتش کم شده امــا ماهیتش همون تصویره .. یعنی میتونیم بگیم به نوعی ویژگی های تصویر رو میتونه بیان کنه امــا با توانایی و قابلیت کمتر .. پــس نتیجه گیری ای که میتونیم بکنیم اینه که میتونیم از خروجی PCA به عنوان یه Feature برای تصویرمون استفاده کنیم .. این که این نوع Feature به درد میخوره یا نه خیلی خیلی به Application کاری که میخوایم بکنیم بستگی داره .. مثلا برای کار OCR یا مورد مشابهش، تشخیص اعداد؛ PCA میتونه رل خیلی خوبی به عنوان feature بازی کنه و به کارمون بیاد .. دلیلش هم خیلی وابسته هست به نوع دیتاهایی که داریم .. اعداد و ارقام .. سبک خاصی دارن



:: بازديد از اين مطلب : 3
|
امتياز مطلب : 0
|
تعداد امتيازدهندگان : 0
|
مجموع امتياز : 0
تاريخ انتشار : 17 آذر 1396 | نظرات ()

نوشته شده توسط : سجاد
كلمه بيومتريك از كلمه يوناني bios به معناي زندگي و كلمه metrikos به معناي اندازه گيري تشكيل شده است. همه ما مي دانيم كه ما براي شناسايي همديگر از يك سري ويژگي هايي استفاده مي كنيم كه براي هر شخص به طور انحصاري است و از شخصي به شخص ديگر فرق مي كند كه از آن جمله مي توان به صورت و گفتار و طرز راه رفتن اشاره كرد. امروزه در زمينه هاي فراواني ما به وسايلي نياز داريم كه هويت اشخاص را شناسايي كند و بر اساس ويژگيهاي بدن اشخاص آن ها را بازشناسي كند و اين زمينه هر روز بيشتر و بيشتر رشد پيدا مي كند و علاقه مندان فراواني را پيدا كرده است. علاوه بر اين ها امروزه password و ID كارتهايي كه بكار برده مي شوند دسترسي را محدود مي كنند، اما اين روشها به راحتي مي توانند شكسته شوند و لذا غير قابل اطمينان هستند. بيو متري را نمي توان امانت داد يا گرفت، نمي توان خريد يا فراموش كرد و جعل آن هم عملا غير ممكن است.
يك سيستم بيو متري اساساً يك سيستم تشخيص الگو است كه يك شخص را بر اساس بردار ويژگي هاي خاص فيزيولوژيك خاص يا رفتاري كه دارد باز شناسي مي كند. بردار ويژگي ها پس از استخراج معمولا در پايگاه داده ذخيره مي گردد. يك سيستم بيومتري بر اساس ويژگي هاي فيزيولوژيك اصولا داراي ضريب اطمينان بالايي است .سيستم هاي بيو متري مي توانند در دو مد تاييد و  شناسايي كار كنند. در حالي كه شناسايي شامل مقايسه اطلاعات كسب شده در قالب خاصي با تمام كاربران در پايگاه داده است، تاييد فقط شامل مقايسه با يك قالب خاص مي شود كه ادعا شده است. بنابراين لازم است كه به اين دو مسئله به صورت جدا پرداخته شود.
يك سيستم بيومتري ساده داراي چهار بخش اساسي است :
1) بلوك سنسور: كه كار دريافت اطلاعات بيومتري را بر عهده دارد.
2) بلوك استخراج ويژگيها: كه اطلاعات گرفته شده را مي گيرد و بردار ويژگي هاي آن را استخراج مي كند.
3) بلوك مقايسه: كه كار مقايسه بردار حاصل شده با قالبها را بر عهده دارد.
4) بلوك تصميم: كه اين قسمت هويت را شنااسايي مي كند يا هويت را قبول كرده يا رد مي كند.
هر خصيصه اي از انسان مي تواند به عنوان يك ويژگي در بيو متري بكار برده شود به شرطي كه شروط زير ر ا بر آورده كند :
1) عمومي بودن : هر شخصي آن خصيصه را داشته باشد.
2) متفاوت بودن : در اشخاص ، متفاوت باشد و دو تا شبيه هم نباشد.
3) دوام داشتن : در يك بازه زماني ثابت باشد.
4) قابل بدست آوردن باشد.
در كاربردهاي زندگي روزمره سه فاكتور ديگر نيز بايد رعايت شود: كارايي (دقت، سرعت)، دسترسي (براي كاربران بي ضرر باشد) امنيت بالا.
در اين مقاله ما به معرفي تعدادي از عواملي كه دربيو متري مورد استفاده قرار مي گيرند مي پردازيم.
1) باز شناسي هويت از طريق اثر انگشت
  اين روش قديمي ترين روش آزمايش تشخيص هويت از راه دور است. اگرچه قبلاً اثر انگشت تنها در زمينه جرم قابل بحث بود، تحقيقات در بسياري كشورها سطحي از پذيرش را نشان ميدهد كه به اين روش اجازه استفاده در برنامه هاي عمومي را مي دهد. سيستمها ميتوانند جزئياتي از اثر انگشت (نقاطي مانند تقاطعها يا كناره هاي برجستگيها) يا كل تصوير را بگيرند. الگوهاي مرجع كه براي حفظ اين جزئيات بكار ميرود در حدود 100 بايت هستند كه در مقايسه با تصوير كاملي كه از اثر انگشت با حجم 500 تا 1500 بايت ميباشد، بسيار كوچكتر هستند.
در برنامه هاي عمومي مشكلاتي در ثبات وجود دارد. بعضي كارگران و معتادان شديد به سيگار, اغلب انگشتاني دارند كه تحليل اثرانگشت آنان مشكل است. با اين وجود، طرحهاي بلند مدت و موفق زيادي در استفاده از اثر انگشت وجود داشته است. در حال حاضر اثر انگشت خوانهاي زيادي در دامنه وسيعي وجود دارند كه به همراه بعضي كارتخوانها استفاده ميشوند. اگرچه در حال حاضر قيمت آنها چندان پايين نيست اما ميزان عرضه آنان در فروشگاههاي كامپيوتر عادي باعث افت سريع قيمت آنان خواهد شد. به طور مثال شركت هواپيمايي آلماني لوفتانزا، آزمايش بليت هاي بيومتريك را آغاز كرده است. اين بليت ها با اطلاعات مربوط به اثر انگشت شصت مسافران رمزگذاري شده اند و انتظار ميرود سرعت كنترل را بدون پيچيدگي هاي امنيتي افزايش دهند.
  نكته قابل توجه ديگر در سيستم هاي توليد توليد شده با استفاده از فناوري بيومتريك (اثر انگشت) قابل ملاحظه است، استقبال رو به گسترش مردم از خريد اين محصولات است. به طور مثال، شركت لنوو (Lenovo) با فروش بيش از يك ميليون كامپيوترهاي كيفي بيومتريكي كه اثر انگشت فرد صاحب آن را اسكن مي كند، به يكي از بزرگترين فروشندگان كامپيوترهاي بيومتريكي در جهان تبديل شده است.
   در اين بخش سعي بر آن شده است كه اصول كلي، موانع و محدوديت هاي سيستمهاي تشخيص اثر انگشت بررسي شوند.


اصول كلي در سيستمهاي تشخيص اثر انگشت:
  همانگونه كه اشاره شد، اثر انگشت يكي از روشهاي مطمئن براي شناسايي افراد مي باشد و در زمينه هايي نظير رسيدگي به جرم، سيستم هاي كنترل حوادث، كنترل مرزهاي ملي و ... به كار مي رود. دليل اصلي انتخاب اثر انگشت براي شناسايي افراد اين است كه اثر انگشت هر فرد منحصر به فرد بوده و بعضي از ويژگي هاي آن تا آخر عمر ثابت باقي مي ماند و از همين ويژگي ها در تطبيق اثر انگشت استفاده مي شود. براي تطبيق دستي اثر انگشت روشهاي استانداردي وجود دارد، اما روش دستي تطبيق اثر انگشت كاري مشكل و بسيار وقت گير بوده و كارايي لازم را ندارد.البته از آنجا كه بانكهاي اطلاعاتي داراي ميليونها اثر انگشت مي باشد، عملاً تطبيق دستي اثر انگشت امري محال مي شود.
  به منظور اتوماتيك كردن تطبيق بايد روشي براي تصوير و يا كد كردن اثر انگشت تعريف گردد. اين بيان تصوير بايستي شرايط زير را داشته باشد:
  1) توانايي تمايز هر اثر انگشت در سطوح مختلف رزولوشن،
  2)  محاسبات ساده
  3)  قابليت بكارگيري در الگوريتم هاي تطبيق اتوماتيك،
  4)  پايداري و عدم تغيير با نويز و خرابي ها
  5) كارا بودن و نشان دادن تصاوير به صورت فشرده
  اگر تصوير به صورت خام ذخيره شود، حافظه زيادي مورد نياز است و سيستم كارايي لازم را نخواهد داشت. در روشهاي ساختاري ويژگي ها از تصوير استخراج و تصوير با اين ويژگي ها شناخته شده و همچنين با استفاده از همين ويژگيها عمل تطبيق صورت مي گيرد.
    اثر انگشت از برآمدگي ها و فرو رفتگي اي فلو مانندي تشكيل شده است كه بسته به وضعيت قرار گرفتن آنها ويژگي هاي مختلفي به وجود مي آيد. تا كنون 18 ويژگي براي اثر انگشت شناخته شده است كه دو ويژگي مهم آن، انتهاي برآمدگي و دوشاخه شدن برآمدگي مي باشدكه اصطلاحاً به آنها مينوتيا مي گويند. در شكل زير اين دو ويژگي نشان داده شده است:


 اطلاعات مينوتيا در مولفه هاي x , y و زاويه برآمدگي ها آنها قرار دارد. ساختار توپولوژيكي مينوتاي يك اثر انگشت منحصر به فرد بوده و با گذشت زمان تغيير نمي كند. در نتيجه مي توان تشخيص اثر انگشت را بر مبناي تطبيق ساختار توپولوژيكي مينوتيا استوار ساخت. در يك تصوير انگشت با كيفيت نسبتاً خوب در حدود 70 تا 80 مينوتا وجود دارد كه البته اين تعداد در تصويرهاي جزئي به حدود 20 تا 30 ويژگي كاهش مي يابد، اما باز هم بااين تعداد مي توان عمل تطبيق اثر انگشت را انجام داد.
  اكثر سيستمهاي تشخيص اثر انگشت، ساختاري بر مبناي مينوتيا دارند. در اين سيستمها سه مرحله اساسي براي تشخيص وجود دارد كه عبارتند از:
            1)  پيش پردازش
            2) استخراج مينوتيا
            3) تطبيق مينوتيا
  مرحله اول براي افزايش كيفيت تصوير انجام مي گيرد، مرحله دوم براي استخراج ويژگي هاي تصوير و مرحله آخر براي مقايسه مورد استفاده قرار مي گيرد.
در مورد تطبيق، روشهاي گوناگوني وجود دارد كه از جمله مي توان به موارد ذيل اشاره كرد:
  1)  تطبيق مجموعه نقاط
  2) تطبيق گراف
  3) همشكلي دو زير گراف
البته عمل تطبيق بنا به دلايل زير نياز به محاسبات پيچيده دارد:
  1) معمولاً كيفيت اثر انگشت پايين است.
  2) بانك اطلاعاتي اثر انگشت ها بزرگ است.
  3) تصوير هايي كه به صورت ساختاري آسيب ديده اند، به الگوريتم هاي نيرومندي جهت تطبيق نياز دارند.
  در سيستمهاي تشخيص اثر انگشت موجود دربازار كه از اين دو ويژگي (انتهاي برآمدگي و دوشاخه شدن برآمدگي) استفاده مي شود، به علت بزرگ بودن بانك اطلاعاتي و نويز دار بودن تصاوير، يك تطبيق يك به يك عملاً مشكل بوده و از اين رو يكسري از تصوير هاي تطبيق يافته تهيه و سپس تطبيق نهايي توسط افراد متخصص انجام مي گيرد.


  استخراج ساير ويژگي ها:
  علاوه بر ويژگي هاي بيان شده، در بسياري از سيستمهاي تشخيص اثر انگشت، از ويژگي هاي سطح بالا نيز استفاده مي شود. اين امر باعث افزايش صحت عمل تطبيق مي گردد. يكي از اين ويژگي هاي مهم كلاس الگوي اثر انگشت مي باشد.
  اثر انگشت به پنج كلاس اصلي تقسيم مي شود كه عبارت اند از:
  1) كمان
  2) كمان مايل
  3) حلقه چپ
  4) حلقه راست
  5) مارپيچ

در تصاوير نويز دار و جزئي ممكن است كلاس الگو نامشخص باشد، كه در اينصورت از يك ويژگي سطح بالاتري به نام چگالي برآمدگي ها به جاي كلاس الگو استفاده مي شود كه بيانگر تعداد برآمدگي ها در واحد طول تعريف مي شود. به منظور مستقل كردن چگالي برآمدي ها از جهت تصوير، تعداد برآمدگي ها بين دو نقطه منفرد محاسبه مي شود. نقاط منفرد در اثر انگشت هسته و دلتا مي باشند. هسته بالاترين نقطه در داخلي ترين برآمدگي و دلتا يك نقطه سه شاخه است كه سه برآمدگي از كنار آن عبور مي كند. در شكل زير اين نقاط نمايش داده شده است:
   


در ادامه به بررسي مختصري از مراحل كد كردن اطلاعات اثر انگشت مي پردازيم:
  1)  نحوه به دست آمدن تصوير اثر انگشت:
   1-1) كاغذ و مركب : در سالهاي گذشته بيشتر از روش كاغذ و مركب استفاده مي شد به اين ترتيب كه در ابتدا اثر انگشت فرد با استفاده از مركب بروي كاغذ ثبت و سپس تصوير اثر انگشت اسكن شده و فايل تصويري آن آماده مي شد، كه اين روش اكنون به علت مشكلات خاص خود و البته پيشرفت تكنولوژي كم كم منسوخ مي شود. معمولا چون كيفيت تصوير به دست آمده پايين است با
  استفاده از تكنيك هاي پردازش تصوير اين نقيصه تا حدي مرتفع مي گردد، 
   
    1-2)  روش اسكن مستقيم نوري: روشهاي گوناگوني براي انجام اين نوع تصوير گيري وجود دارد. نمونه اي از آن در شكل زير آمده است: 


    1-3) با استفاده از سنسور LE
  در اين روش از تكنولوژي نيمه هادي ها استفاده مي گردد. به اين ترتيب كه انگشت شخص بر روي سنسور LE كه از جنس نيمه هادي مي باشد، قرار گرفته و در نتيجه در محل هاي برآمدگي پوست انگشت كه در تماس با سنسور مي باشند، فوتون آزاد شده و به اين ترتيب اثر انگشت ثبت مي گردد.
 امروزه اسكنر هايي كه براي ارتباط با كامپيوتر طراحي شده اند، به راحتي اطلاعات تصويراثر انگشت را تهيه و از طريق درگاه هاي كامپيوتر در اختيار نرم افزارهاي مربوطه قرار مي دهند. 
نحوه استخراج ويژگي ها:
  در اكثر سيستم ها از روشهاي ساختاري كه بر مبناي مينوتا هستند براي استخراج ويژگي ها استفاده مي شود. در اين سيستم ها در ابتداپيش پردازشهاي اوليه اي مانند يكنواخت كردن هيستوگرام، تشخيص برآمدگي ها و نازك كردن آنها روي تصوير اعمال ميگردد. سپس با استفاده از روشهاي زير به استخراج ويژگي ها و شناسايي اثر انگشت مبادرت مي ورزند:
  1) روش فازي
  2) روش شبكه هاي عصبي
  3) ساختن گراف مربوطه به هر تصوير با استفاده از ميدان جهت دار و الگوريتم راتا 
    پياده سازي اين روشها يا با استفاده از كامپيوتر انجام گرفته و يا از مدارات مجتمعي كه به همين منظور ساخته شده است، انجام مي گيرد.

:: بازديد از اين مطلب : 3
|
امتياز مطلب : 0
|
تعداد امتيازدهندگان : 0
|
مجموع امتياز : 0
تاريخ انتشار : 17 آذر 1396 | نظرات ()

نوشته شده توسط : سجاد

در دنیای امروز هیچ چیز ارزشمندتر از اطلاعات نیست. این اطلاعات گاهی بسیار با اهمیت بوده و حفاظت از آنها کاری است که همواره مورد توجه می باشد. بنابراین باید به نحوی هویت افرادی که به این اطلاعات دسترسی دارند را تعیین نمود.

در روش های سنتی جهت تعیین هویت افراد از اطلاعاتی که فرد در اختیار داشت ، مانند کلمه رمز و یا شماره شناسایی استفاده می شد ؛ این رو ش ها در عین ساده و کم هزینه بودن ، معایبی چون امکان دزدیده شدن ، فراموش شدن و ... را نیز داشتند. در واقع در این روش ها سیستم قادر نبود تا بین فرد واقعی و فرد نفوذ کننده تمایز قایل شود ؛ بنابراین می توان نتیجه گرفت که سیستم های سنتی از امنیت کافی برای جامعه الکترونیکی امروزی ما برخوردار نیستند.

اما با توجه به اینکه تعیین هویت قطعی افراد در مبادله اطلاعات یک عنصر حیاتی در ایمنی داده هاست ، باید از روش های دیگری برای تعیین هویت افراد استفاده کرد. یکی از پایه های خودکار سازی تعیین هویت افراد ، شناسایی انسان ها بر اساس ویژگی های بیومتریکی آنها مانند چهره ، الگوهای گفتاری ، اثر انگشت و ... است. در این میان استفاده از اثر انگشت رواج بیشتری دارد. بزرگترین دلیل استفاده گسترده و عمومی از اثر انگشت بعنوان ابزار تعیین هویت این است که اثر انگشت افراد منحصر به فرد است و در طول عمر فرد تغییر نمی کند ، بنابراین می توان از آن به عنوان یک امضا و یا ابزار تشخیص هویت استفاده کرد.

البته این نکته را نیز نباید فراموش کرد که مشکلات عملی زیادی در سیستم های شناسایی اثر انگشت وجود دارد. از جمله اینکه هر دفعه که یک اثر انگشت گرفته می شود ممکن است بخاطر قابلیت کشساتی پوست ، تحریفاتی در شکل و محل اثر انگشت ایجاد شود.

عملیات تشخیص اثر انگشت مستلزم بررسی دقیق و جزء به جزء تمامی پستی و بلندی ها و شیارهای اثر انگشت است. سیستم های تشخیص اثر انگشت با انجام عملیات پردازشی (که ترکیبی از الگوریتم های پیچیده پردازش تصویر می باشند) بر روی الگوهای اثر انگشت افرادی که مایل به دسترسی به اطلاعات هستند ، دسترسی های مجاز را کنترل می کنند.

اولین گام در تشخیص هویت بر اساس اثر انگشت ، نمونه برداری تصویری از اثر انگشت است. با این کار مشخصات نقاط مینوشیا (minutiae) - نقاطی که در آنها خطوط ریز انگشت با هم تلاقی داشته اند ، انشعاب داشته اند و یا پایان یافته اند - از تصویر اثر انگشت گرفته می شود. حال برای بررسی و انجام عملیات تشخیص هویت باید از مجموعه ای از الگوریتم ها برای مشخص کردن ویژگی های خاص این اثر انگشت استفاده شود. این ویژگی ها هر انگشت را به صورت منحصر بفرد در بانک اطلاعاتی ذخیره می کند و آن را از دیگر اثر انگشت های ثبت شده متمایز می سازد.

الگوریتم تشخیص اثر انگشت VeriFinger از طرح ها و رویه های پذیرفته شده و رایج تعیین هویت اثر انگشت پیروی می کند که از مجموعه ای از نقاط minutiae استفاده می کنند. این الگوریتم راه حل های الگوریتمی خاصی دارد که قابلیت اطمینان و عملکرد سیستم را بالا   می برند.

VeriFinger می تواند از ورودی های بانک اطلاعاتی که بر اساس یکسری خصوصیات کلی خاص از قبل مرتب شده اند ، استفاده کند . تطبیق اثر انگشت در ابتدا بر اساس ورودی هایی از بانک اطلاعاتی که بیشترین خصوصیات کلی مشابه را با اثر انگشت تست شده دارند ، انجام می شود. اگر عمل تطبیق با این گروه هیچ نتیجه مثبتی در بر نداشت ، رکورد بعدی که بیشترین خصوصیات کلی مشابه را دارد انتخاب می شود و به همبن منوال ادامه پیدا می کند تا یا به نتیجه موفقیت آمیز دست یافت و یا به انتهای بانک اطلاعاتی رسید.

جهت ثبت نتایج دقیق تر و با کیفیت تر ، سه اثر انگشت از یک انگشت گرفته می شود. هر یک از این سه تصویر پردازش شده و خصوصیاتش استخراج می شود. سپس این سه مجموعه از خصوصیات آنالیز شده و تحت یک مجموعه خصوصیات واحد قرار می گیرد که در بانک اطلاعاتی نوشته می شود. بدین ترتیب ، خصوصیات ثبت شده قابل اطمینان تر خواهند بود و کیفیت تشخیص اثر انگشت بطور قابل ملاحظه ای افزایش پیدا می کند.

رابط برنامه نویسی سیستم تشخیص اثر انگشت (VeriFinger SDK) ، مجموعه ای از چندین component است که امکان استفاده سریع و آسان از تکنولوژی تشخیص اثر انگشت را در راه حل های نرم افزاری مختلف ایجاد می کند.

این component ها برنامه نویسان را قادر می سازند تا از تشخیص هویت بر اساس اثر انگشت در برنامه های خود تحت Windows,Linux,OS/2 ، تحت شبکه (Client/Server) و تحت وب به شیوه ای بسیار انعطاف پذیر استفاده نمایند.

VeriFinger شامل SDK های مختلفی است که هر یک مصارف خاص خود را دارند :

SDK استاندارد : این SDK برای توسعه دهندگان سیستم های بیومتریک در نظر گرفته شده و امکان توسعه کاربردهای بیومتریکی را بر روی سیستم عامل های ویندوز و لینوکس فراهم می آورد.

SDK توسعه یافته : این SDK شامل تمام خصوصیات SDK استاندارد می باشد و علاوه بر آن کامپوننت های COM/Activex ای دارد که قابلیت استفاده مجدد دارند و تنها برای توسعه سریع نرم افزارهای Client/Server ای (فقط برای MS Windows) ایجاد شده اند.


مشخصات و قابلیتها

برخی از مشخصات و قابلیت های نرم افزار به شرح زیر می باشد :

  • الگوریتمی با نام Adaptive image filtration دارد که امکان حذف نویزها ، چسبندگی و از هم گسیختگی خطوط اثر انگشت را فراهم آورده و نقاط minutiae را حتی در مواردی که اثر انگشت کیفیت ضعیفی دارد با سرعت پردازشی در حدود 0.4 - 0.2 ثانیه استخراج می کند.

  • به چرخش اثر انگشت (Rotation ) ، حساس نیست.

  • به نوع سنسوری که اثر انگشت از آن دریافت شده ، حساسیت ندارد.

  • به جا به جایی اثر انگشت روی محورهای عمودی و افقی وابستگی ندارد.

  • الگوریتم عمل تطبیق اثر انگشت های تخت - تخت (flat-flat) ، تخت - چرخشی (flat-rolled) و چرخشی - چرخشی (rolled-rolled) را با قابلیت اطمینان بالایی انجام می دهد.

  • امکان اضافه کردن ماژول ذخیره و بازیافت تصاویر اثر انگشت با فرمت WSQ را دارد. لازم به ذکر است فرمت WSQ فرمت استاندارد FBI برای ظبط تصاویر اثر انگشت است که حجم این تصاویر بدون از دست دادن کیفیت ، یک پانزدهم حجم همان تصاویر با فرمت Jpeg می باشد ، لذا تأثیر فوق العاده ای در حجم تصاویر و سرعت ذخیره و بازیافت آن دارد.

  • این الگوریتم می تواند اثر انگشت را از هر بخشی از آن تشخیص دهد و نیازی به وجود مرکز (core) اثر انگشت یا نقاط دلتا در تصویر ندارد.

  • VeriFinger شامل کامپوننت مدیریت اسکنرهای اثر انگشت می باشد که تقریبا با تمام اسکنرهای اثر انگشت معمول در بازار سازگار است. این اسکنرها می توانند دارای ویژگی های مختلفی چون : رد تصاویر جعلی ، قبول تصاویر در زاویه های مختلف ، دوام خوب ، رمزگذاری سخت افزاری داده ها ، قبول انگشتان نمناک و ... باشند. همچنین امکان اضافه کردن پشتیبانی برای سنسورهای جدید نیز وجود دارد.

  • و ...

کاربرها

هم اکنون بسیاری از سازمان های امنیتی مالی و نظامی در کشورهای مختلف از تکنولوژی تشخیص اثر انگشت برای دسترسی به اطلاعات محرمانه و ورود به مکان های خاص استفاده می کنند. ولیکن به تازگی این تکنولوژی به علت قیمت مناسب ، کارایی و سرعت بالا کاربردهای تجاری نیز یافته است.

نمونه هایی از کاربردهای فراوان این تکنولوژی که شرکت هوش مصنوعی رایورز ارائه می دهد در ادامه آمده است :

 

استفاده در جرم شناسی (که مشهورترین کاربرد این سیستم ها می باشد)

 

امنیت در IT

  • ورود به کامپیوتر (Computer Logon)

  • دسترسی به شبکه

  • تجارت الکترونیک

  • امنیت در صفحات وب

  • رمزگذاری فایل ها

 

شناسایی هویت

  • کارت شناسایی / ملی

  • انتخابات

  • کارت پایان خدمت

  • گذرنامه الکترونیک

  • گواهی نامه رانندگی

 

امنیت در بانکداری

  • مکمل و جایگزینی کارت های اعتباری ، Prepaid Card ، Debit Card

  • قابل استفاده در دستگاه های کارت خوان ، ATM و ...

  • بانکداری الکترونیک : تشخیص هویت افراد نقد کننده چک

 

کنترل دسترسی فیزیکی

  • درهای ورود و خروج

  • سیستم حضور و غیاب

  • دستگاه های هشدار دهنده

  • گاو صندوق ، صندوق امانات و ...

  • مکان های امنیتی

 

وسایل قابل حمل

  • تلفن همراه

  • PDA

  • کامپیوترهای Notebook

 

صنایع خودروسازی

  • سوئیچ

  • قفل درهای ماشین

 

صنایع نظامی

  • گشت شناسایی

  • اسلحه های هوشمند و ...



:: بازديد از اين مطلب : 5
|
امتياز مطلب : 0
|
تعداد امتيازدهندگان : 0
|
مجموع امتياز : 0
تاريخ انتشار : 17 آذر 1396 | نظرات ()

نوشته شده توسط : سجاد

قالب بندی : PDF

شرح مختصر : گرافیک رایانه‌ای یا گرافیک کامپیوتری (Computer graphics) یکی از قدیمی‌ترین شاخه‌های علوم رایانه است که به ترسیم، تغییر، و کار با تصاویر به شیوه‌های محاسباتی و رایانه‌ای اقدام می‌نماید. گرافیک رایانه‌ای یکی از پرجاذبه‌ترین و وسیع‌ترین کاربردهای رایانه‌هاست. بازیهای رایانه‌ای، برنامه‌های ساخت پویانمایی دوبعدی و سه‌بعدی، شبیه ‌سازیهای محاسباتی، و پردازش تصاویر را می‌شود به ‌عنوان چند نمونه نام برد.

سرفصل :

ترسیم اشکال پایه هندسی

مباحث فصل اول:

رسم نقطه

رسم خط

الگوریتم DDA

الگوریتم برسنهام

رسم دایره

الگوریتم زاویه

الگوریتم نقطه میانی

رسم بیضی

الگوریتم زاویه

الگوریتم نقطه میانی

نمایی کلی از سیستمهای گرافیکی

مباحث فصل دوم:

انواع سیستم های نمایش

سیستم های Random Scan

سیستم های Raster Scan

تکنولوژی های نمایش گر ها

نمایشگر های غیر Flat

نمایشگر های CRT

نمایشگر های DVST

نمایشگرهای Flat

نمایشگرهای پلاسما

نمایشگرهای LCD

نمایشگر های EL

و  برش اشکال پر کردن

مباحث فصل سوم:

پر کردن اشکال

رسم اشکال با قطر بیش از یک پیکسل

Replaceing pixel

Moving Pen

Filling Area Between Bound Areas

Approximately By Tick Poly Line

فصل چهارم :

الگوریتم Cohen-suterland

الگوریتم Cyrus-Beck

پردازش تصویر

مباحث فصل پنجم:

سیستم پردازش تصویر

فشرده سازی تصاویر

کدگذاری تصاویر

دانلود جزوه



:: بازديد از اين مطلب : 7
|
امتياز مطلب : 0
|
تعداد امتيازدهندگان : 0
|
مجموع امتياز : 0
تاريخ انتشار : 17 آذر 1396 | نظرات ()

نوشته شده توسط : سجاد

همه با Matlab آشنا هستیم و حداقل میدانیم که چیز بدردخوری است. پس از صحبت دربارة این میگذریم. اما Image Processing Toolbox از امکانات جنبی این برنامه است. برای اینکه مطمئن شوید که این Toolbox روی Matlab شما نصب شده است؛ دستور ver را اجرا کنید. این دستور لیست هرچه که از Matlab روی رایانه شما نصب شده است را ارائه میدهد. بین Matlab 5.x و Matlab 6 برای کار پردازش تصویر تفاوت چندانی وجود ندارد اما مثل همیشه نسخة جدیدتر امکانات بیشتری دارد که البته فعلا با آنها کاری نداریم.
دستورهای معرفی شده:

 ver
اگر حوصلة موضوعات ابتدایی کار ندارید میتوانید از شمارة ۴ شروع به خواندن کنید. اما توصیه عملی این است که از اول شروع کنید چون این نوشته یک راهنمای قدم به قدم است. پس بهتر است پله ها را ۴ تا یکی نکنیم.

گام دوم – چگونه یک فایل تصویر را در Matlab باز کنیم
Matlab میتواند فایلهای گرافیکی با فرمتهای JPEG, TIFF, GIF, BMP, PNG, HDF, PCX, XWD, ICO, CUR را به عنوان فایل گرافیکی بخواند. مثلاً برای وارد کردن تصویری به نام cameraman.tif به فضای Matlab کافی است از دستور imread استفاده کنیم:

MyImage=imread(‘cameraman.tif’,'tif’);

توجه داشته باشید که فایلی که دستور خواندنش را میدهید باید برای برنامه قابل دسترس باشد. یعنی یا باید در مسیر (Path) Matlab باشد یا اینکه در پروندهای (folder) قرار داشته باشد که در حال حاضر برنامه به آن دسترسی دارد. برای اینکه بدانید که Matlab برای پیدا کردن فایلی که دستورش را دادید کجا را خواهد گشت اینکارها را بکنید: از دستور path برای اینکه بدانید کدام پروندهها جزء مسیر پیشفرض Matlab است و از دستور dir برای اینکه بدانید که Current Directory چیست؛ استفاده کنید.
خب تا اینجا یک فایل تصویر را در محیط Matlab وارد کردهایم. همانطور که میدانیم یک تصویر دیجیتال بر روی کامپیوتر در قالب یک ماتریس ذخیره میشود. پس MyImage مثل همه متغیرهای Matlab یک ماتریس است. برای اینکه بدانیم فایل خوانده شده از چه فرمتی است(سیاه سفید، یا Gray Scale یا رنگی ) مینویسیم:


imfinfo(‘cameraman.tif’)

این دستور را اجرا کنید و ببینید چه مینویسد… اما اگر بخواهید بدانید که ماتریس ذخیره شدة MyImage از چه نوعی است کافی است بنویسد: whos و لیست متغییرهای مقیم شده در حافظه و نوع و اندازه آنها را ببینید.
دستورهای معرفی شده: imread, imfinfo, whos, path, dir

گام سوم – چطور تصویر را ببینیم؟
خب حالا میخواهیم تصویر را که در یک ماتریس ذخیره شده است را ببنیم. بنویسید:

imshow(MyImage)

جالب است نه؟ فکر میکنید اگر بخواهیم دوتا تصویر را با هم ببنیم باید چکار کنیم؟ این را امتحان کنید:

YourImage=imread(‘tire.tif’,'tif’);

figure

subplot(1,2,1), imshow(MyImage), title(‘MyImage’)

subplot(1,2,2), imshow(YourImage), title(‘YourImage’)

با اجرای این دستورات به آن چیزی که اتفاق افتاد توجه کنید؛ حتما متوجه میشود که هرکدام از این دستورات چکار میکنند.
دستورهای معرفی شده: imshow, subplot, title, figure

گام چهارم – تصویر را خواندیم حالا چکار کنیم؟
کمی نویز دستوپا میکنیم و به تصویر اضافه میکنیم که بعداً راهی پیدا کنیم حذفش کنیم:

imagen=imnoise(MyImage,’salt & pepper’);imshow(imagen)

دستور imnoise نویزهای مختلفی را در اختیار ما میگذارد که به تصویر اضافه کنیم. افزودن نویز برای شبیه سازی اشکالاتی است که ممکن است به هر سیستم پردازش تصویر وارد شود. اینجا فرض کردهایم که نویز «نمک و فلفل» به تصویر اضافه شده است! اسمش عجیب غریب است؟ این نویز را روی تصویر تلویزیونتان اگر آنتن درست تنظیم نباشد حتما دیدهاید. میدانیم که وقتی نویز داریم با یک فیلتر حذفش میکنیم. فیلتری که انتخاب میکنیم باید مناسب نویزی باشید که روی تصویر سوار شده است. بهترین فیلتر برای نویز «نمک و فلفل» فیلتر میانه است که در Matlab با دستور Medfilt2 قابل استفاده است:

figureimagefilt=medfilt2(imagen);

imshow(imagefilt)

برای دستگرمی هم که شده سعی کنید تصویر نویز و تصویر فیلتر شده را در یک صفحة واحد نمایش دهید.
دوباره به تصویر MyImage نگاه کنید. فرض کنید میخواهیم مارک دوربین درون عکس را از روی شکل آن تشخیص دهیم. بازهم فرض کنید به روشی که بعدا بیشتر راجع بهش صحبت میکنیم فهمیدیم که دوربین درون این مختصات از تصویر قرار دارد. بین سطر ۵۹ تا ۸۴ و ستون ۱۳۱ تا ۱۷۰٫ پس از همین مختصات تصویر را با دستور imcrop میبریم.

imagecrop=Imcrop(MyImage,[ 131 59 39 25]);

در این دستور مختصات برش را اینطور مینویسم ] ارتفاع ,پهنا ,حداقل y ,حداقل x [. این قسمت بریده شده را نمایش بدهید و ببینید. در مرحله بعد سیستم تشخیصدهندة نوع دوربین احتیاج دارد که اندازه تصویر مقدار خاصی مثلاً ۱۲۰x100 باشد. پس باید اندازه تصویر برش داده شده را تغییر دهیم:

imagesz=imresize(imagecrop,[120 100]);

تصویر جدید را نگاه کنید. میبینید که به اندازه جدید در آمده است.
دستورهای معرفی شده: imnoise, medfilt2, imcrop, imresize

گام پنجم – کمی خلاقیت مهندسی!
یک فایل جدید باز میکنیم که عکسی از دانههای برنج است. میخواهیم دانههای برنج را درون عکس بشماریم. این عکس از قسمت برنج مرغوبِ خط تولید یک کارخانه است. شمارش دانههای برنج به کارخانه برنج سازی کمک میکند بداند چند درصد برنجهایش درجه یک هستند. این دستورات را اجرا کنید:

p=imread(‘rice.tif’);re=edge(p,’sobel’);

imshow(re);

re2=edge(p,’canny’);

figure, imshow(re2);

البته اول تصویر اصلی برنجها را ببینید و سپس مقایسه کنید. دو روش Sobel و Canny برای پیدا کردن لبهها مورد آزمایش قرار گرفته است. مشخص است که روش Canny اینجا بهتر جواب داده است. دو کار به عهده شماست.

a. الگوریتمی پیدا کنید که تعداد برنجهای درون عکس را بشمارد.(راهنمایی: اگر بتوانید تعداد مسیرهای بستهی درون تصویر لبهها را بشمارید تقریباً همه برنجها را شمردهاید)

b. کشف کنید که روش Canny برای مشخص کردن لبه چه روشی است و چطور عمل میکند و چرا از روش سادة Sobel بهتر است.

برای بهتر شده نتیجه کار با روش Sobel بهتر است از عملگرهای ریختشناسی (morphological) استفاده کنیم. سعی میکنیم قسمتهای نزدیک به هم لبة هر برنج را به هم متصل کنیم. با این کار لبة برنجها را کامل میکنیم و خوردگیها را از بین میبریم. اما قبل از ادامه کار دستور close all را امتحان کنید. این دستور همه figure هایی که باز هستند را میبندد تا زیاد شلوغ نشود! حالا این دستورها را اجرا کنید:

figure, imshow(re);

re4=bwmorph(re,’close’);

re5=bwmorph(re4,’bridge’);

figure;

imshow(re5);

title(‘after morphological operations’);

آخرین تصویر لبهها را با تصویر اولیه لبهها که همان re است مقایسه کنید. میبینید که در متصل کردن قطعات پیشرفت خوبی داشتیم. اولین دستور bwmorph عمل Closing را روی تصویر انجام میدهد و دومین دستور عمل Bridge. برای اینکه بدانید هرکدام از این دستورات چکار میکنند از help bwmorph استفاده کنید.

برای اینکه بهتر کار با این دستورها را یاد بگیریم سری به Demoهای Matlab میزنیم. در صفحه Matlab بنویسید: demo و با اجرا کردن این دستور لیست demoهای مختلف ظاهر میشود. Image Processing Toolbox را انتخاب کنید. و در لیست کناری Edge Detection را انتخاب کنید. بقیه ماجرا با خودتان!

دستورهای معرفی شده:edge, bwmorph, demo

گام ششم – هیستوگرام تصویر:
تا به حال تصویرهای Gray Scale را بررسی کردیم. از این به بعد هم همین کار را میکنیم! با این تفاوت که اگر تصویر ورودی رنگی بود اول Gray Scaleاش میکنیم و بعد کارها را ادامه می دهیم.تصویر flowers.tif را با دستور imread در ماتریس flowers ذخیره کنید. از دستور rgb2gray برای تبدیل فرمت رنگی تصویر به Gray Scale استفاده کنید. حالا هیستوگرام تصویر را رسم کنید. بعد یکی از قلههای نمودار هیستوگرام را انتخاب کنیدکه بین دوتا دره باشد. کاری کنید که فقط این قله درون هیستوگرام باقی بماند. بعد با دستور im2bw تصویر را از Gray Scale به سیاه سفید تبدیل کنید و نتایج را مقایسه کنید!چطور شد؟ توضیح میدهم، اینطوری:

flowers=imread(‘flowers.tif’,'tif’);flowersg ray=rgb2gray(flowers);

imhist(flowersgray)

من هیستوگرام را نگاه کردم و شما هم نگاه کنید. (هیستوگرام تصویر را بادستور imhist کشیدم) قلة بین ۵۰ و ۱۰۰ را انتخاب میکنم. حالا یک ماتریس جدید میسازم طوری که فقط جاهایی که مقدار ماتریس flowersgray در محدودة ۵۰ تا ۱۰۰ است، در ماتریس جدید ۰ باشد و باقی جاها ۱ باشد.(یعنی یک ماتریس باینری یا سیاه سفید):

f=ones(size(flowersgray));

f(find(flowersgray>50&flowersgray<100))=0;

imshow(f);

دستورهای بالا به این معنی است: ماتریس f را هماندازه ماتریس flowersgray بساز. همة درایههایش را یک بگذار. بعد دستور find درون ماتریس flowersgray جستجو میکند و شماره درایههایی از ماتریس flowersgray را به من میدهد که در شرط روبهرو برایش مشخص شده. (همان محدودة ۵۰ تا ۱۰۰). این درایههای بخصوص را در ماتریس f از ۱ به ۰ تبدیل میشود. نتیجه را باهم ببینیم!

اگر دقت کنیم میبینیم که مجموعة گلدون از پس زمینه جدا شد. آنهم تنها با انتخاب یک قله درون هیستوگرام… حالا من از کجا فهمیدم که این قله مهم است؟… لابد علم غیب داشتم؟… بعدا راجع به انتخاب قلهها بیشتر خواهیم فهمید.

حالا دستور im2bw را – که تصویر را سیاه سفید میکند – امتحان کنید.

bwflowers=im2bw(flowersgray,gray);

imshow(bwflowers)

دستور im2bw حدی تعیین میکند و درایه هایی که از آن حد کمتر باشند را صفر و آنهایی که بیشتر هستند را یک میکند. آیا متوجه تفاوت دو روش شدهاید؟

دستورات معرفی شده: rgb2gray, imhist, ones, find



:: بازديد از اين مطلب : 5
|
امتياز مطلب : 0
|
تعداد امتيازدهندگان : 0
|
مجموع امتياز : 0
تاريخ انتشار : 17 آذر 1396 | نظرات ()

نوشته شده توسط : سجاد
جعبه ابزار پردازش تصویر چهار نوع تصویر را پشتیبانی میکند:
• Intensity Image
• Binary Images
• Indexed Images
• RGB Images
پردازشهای سیاه و سفید اغلب روی تصاویر Binary و Intensity صورت می گیردو تاکید بیشتری روی این نوع تصاویر خواهیم داشت . با انتخاب یک آستانه ، میتوان تصاویر Intensity را به Binary تبدیل کرد.
تصاویر RGB و Indexed در بحث پردازش تصاویر رنگی استفاده می گردند.
اگر A یک آرایه عددی شامل 0 و 1 باشد ، با دستور زیر این :آرایه به یک آرایه منطقی تبدیل میشود.
B= logical(A)
اگرA شامل مولفه هایی غیر از 0 و 1 باشد تابع فوق مقادیر غیر صفر را به 1 و مقادیر 0 را به 0 منطقی تبدیل میکند.
برای بررسی اینکه آیا یک آرایه است یا نه ، از تابع زیر استفاده میشود :
islogical(B)
اگر B منطقی باشد تابع مقدار 1 و در غیر اینصورت مقدار صفر را برمی گرداند.
یک تصویر با کلاس داده (Data class) و نوع تصویر (Image type) مشخص میگردد:
uint8 intensity image
بعضی توابع در جعبه ابزار ، از تمام کلاس داده ها پشتیبانی میکنند. ولی برخی از آنها فقط از کلاس خاصی پشتیبانی میکنند. به طور مثال ، پیکسلهای یک تصویر باینری فقط می توانند از نوع logical باشند.

تبدیلات کلاس داده ها
فرمت کلی برای تبدیل کلاس دده ها به صورت زیر است :
B=data_class_name(A)
به طور مثال اگرA از نوع uint8 باشد ، دستور زیر آنرا به نوع double تغییر می دهد:
B=double(A).

تابع فوق بسیار متداول است ، چرا که Matlab انتظار دارد عملوندها در محاسبات عددی از نوع double باشند.
اگر C یک متغیر از نوع double باشد دستور زیر آنرا به uint8 تبدیل میکند:
D=uint8(C)
از آنجاییکه محدوده uint8 برابر [0,255] است دستور فوق برای مقادیر کوچکتر از 0 مقدار صفر و برای مقادیر بزرگتر از 255 مقدار 255 قرار می دهد. بنابراین تغییر مقیاس مناسب (proper scaling) قبل از عمل تبدیل ضروری است.


عملگرها (Operators)
عملگرهای Matlab به سه دسته تقسیم می شوند:
• عملگر های محاسباتی (Arithmetic operators)
• عملگرهای رابطه ای (Relational operators)
• عملگرهای منطقی (Logical operators)


عملگرهای محاسباتی


در جعبه ابزار پردازش تصویر ، دستوراتی برای انجام عملیات محاسباتی روی تصاویر وجود دارد. مانند : imadd, imsubtract, immultiply, imdivide
EXAMPLE :

I= imread('rice.png');
J= imread('cameraman.tif');
K= imadd(I,J,'uint16');
figure(1);imshow(I,[])
figure(2);imshow(J,[])
figure(3);imshow(K,[])

عملگرهای رابطه ای
این عملگرها برای مقایسه مولفه های دوماتریس می توانند ا ستفاده شوندو عبارتند از : > ، >= ، < ، <= ، = = ، =~ .


عملگرهای منطقی
AND : با فرمت and(A,B) یا A&B
ماتریسی با ابعاد ورودی ومولفه ها 0 و 1 تتولید میکند. اگر مقدار مولفه ها غیر صفر باشد در محل مولفه مقدار یک و در غیر این صورت صفر قرار می دهد.
OR : با فرمت or(A,B) یا A|B
ماتریسی با ابعاد ورودی و مولفه های 1 و 0 تولید میکند. اگر حداقل یک مولفه غیر صفر باشد در محل مولفه مقدار یک و در غیر این صورت صفر قرار می دهد .
NOT : با فرمت not(A) یا ~A
ماتریسی با ابعاد ورودی تولید می کند که مولفه های صفر ماتریس ورودی را با یک و مولفه های غیر صفر را با صفر پر می کند.
XOR : با فرمت xor(A,B)
اگر هر دو مولفه صفر یا غیرصفر باشند مقدار صفتر و اگ ر یکی صفر و دیگری غیرصفر باشد مقدار یک بر میگرداند.

تابع all : اگر تمام مولفه های بردار غیرصفر باشند مقدار یک و در غیر اینصورت مقدار صفر بر میگرداند.
تابع any : اگر تمام مولفه های یک بردار صفر باشند مقدار صفر و در غیر این صورت یک بر میگرداند.
این دو تابع برای ماتریس به صورت ستونی عمل می کنند(بردارهای ستونی ) .


:: بازديد از اين مطلب : 5
|
امتياز مطلب : 0
|
تعداد امتيازدهندگان : 0
|
مجموع امتياز : 0
تاريخ انتشار : 17 آذر 1396 | نظرات ()

نوشته شده توسط : سجاد
یک واحد پردازش گرافیکی، پردازشگری است که به کارت گرافیکی الحاق شده است تا عملیات ممیز شناورو اعمال مشابه با آن را انجام دهد.
یک شتاب دهنده گرافیکی از اتصال چندین ریزتراشه جاوی عملگرهای ریاضی ویژهٔ رندر کردن گرافیکی را مورد استفاده قرار می‌دهد.

دهه 1970
تراشه‌هایANTIC و CTIA امکان کنترل سخت افزاری حالات گرافیکی و متنی و سایر تاثیرات را بر روی آتاری 8-بیتی را فراهم می‌کردند.تراشهٔ ANTIC پرداشگری مخصوص برای نگاشت(در جالت برنامه نویسی) متن و دادهٔ گرافیکی به خروجی تصویری بود. طراح تراشه ANTIC جی مینر، طراحی تراشهٔ گرافیکی را برای کمودور آمیگا نیز بر عهده داشت.[۱]

دهه ۱۹۸۰
کمودور آمیگا اولین وسیلهٔ پرفروش رایانه‌ای بود که شامل یک biltter در قسمت سخت افزار گرافیکی خود بود و نیزIBM ۸۵۱۴ یکی از اولین رایانه‌های شخصی بود که کارتی گرافیکی از نوع ۲-بعدی را شامل می‌شد.

آمیگا در زمان خودش بی نظیر بود چرا که یکی از خصوصیات آن، که امروزه به نام سیستم شتاب دهندهٔ گرافیکی شناخته می‌شود را دارا بود. تقریباً تمام بار تولید توابع گرافیکی بر عهدهٔ سخت افزار بود، به طور مثال کشیدن خط، پرکردن مساحت اشکال. یک پردازندهٔ کمکی گرافیکی نیز همراه با مجموعهٔ دستورات داخلی مخصوص به خود در این محموعه حاضر بود. تا قبل از ارایه (و حتی تا مدتی بعد بر روی اکثر سیستم‌ها)، این CPU بود که بار تمام جنبه‌های گرافیکی را بر دوش داشت.[۲]

دههٔ ۱۹۹۰
در اوایل دهه ی۹۰ با رشد چشمگیر سیستم عامل مایکروسافت ویندوز، علاقهٔ فراوانی به استفاده از سرعت بیشتر و تفکیک پذیری ۲-بعدی بالاتر (bitmapped graphics) که قبلا توسط ایستگاه‌های کاری یونیکس و رایانه‌های مکینتاش شرکت اپل استفاده شده بود، ایجاد گردید. در بازار فروش، تسلط مایکروسافت به معنی تمرکز و تلاش بیشتر برروی فقط یک فاصل گرافیکی قابل برنامه نویسی بود :دستگاه میانجی گرافیکی (Graphics Device Interface).
در سال ۱۹۹۱، S۳ Graphics؛ S۳ ۸۶C۹۱۱ به عنوان اولین شتاب دهنده تک-چیپ ۲-بعدی معرفی شد.


از سال ۲۰۰۰ تا به حال
با ظهور رابط کابری DirectX نسخهٔ ۸ و توابعی مشابه بانام OpenGL، توانایی برنامه نویسی برای سایه‌زنی، به قابلیت‌های GPU اضافه شد. هر پیکسل اکنون می‌توانست توسط برنامه‌های کوچک که شامل اضافه شدن بافت تصویری به عنوان ورودی‌ها، و یک برنامهٔ کوتاه توانایی پردازش هریک از مختصات سه بعدی را پیش از نمایش تصویر دارا بود .ان ویدیا بازار را با ارایهٔ اولین چیپ که توانایی سایه‌زنی به صورت نرم افزاری را دارا بود، در دست گرفت: جی فورس ۳ (GeForce ۳) که با نام NV۲۰ مشهور شد. در اکتبر ۲۰۰۲، شرکت ATI با معرفی Radoen ۹۷۰۰ ،با نام مستعارR۳۰۰، اولین شتابدهندهٔ دایرکت ۳بعدی نسخهٔ ۹ را معرفی کرد.



:: بازديد از اين مطلب : 6
|
امتياز مطلب : 0
|
تعداد امتيازدهندگان : 0
|
مجموع امتياز : 0
تاريخ انتشار : 17 آذر 1396 | نظرات ()

صفحه قبل 1 2 3 4 5 6 7 8 9 10 ... 1856 صفحه بعد