رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش قدم به قدم پردازش تصویر (Image processing)
#1
با سلام
خیلی موقع ها شاهد این موضوع بودم که خیلی از دوستان به جناب آقای مهندس ابراهیمی مراجعه میکنند و این سوال را مطرح میکنند که پردازش تصویر را از کجا شروع کنیم

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

برای همین این موضوع جدید را شروع کردم تا آقای ابراهیمی لینک موضوعاتی یک نفر از صفر میخواهد شروع کند را در اینجا قرار دهند

با تشکر

[عکس: <a href=www.Mojsazan.com.gif]" class="mycode_img" />
پاسخ
#2
اولین پست را خودم میگذارم

شاید برای شروع خوب باشه

اگر نمیدانید پردازش تصویر چیست این تاپیک را حتما مطالعه کنید

اگر میخواهید بدانید کاربردهای پردازش تصویر در دنیای امروز چیست این تاپیک را مطالعه کنید
[عکس: <a href=www.Mojsazan.com.gif]" class="mycode_img" />
پاسخ
سپاس شده توسط مهدی ابراهیمی ، sara90 ، mehrdad.a ، parisaaa
#3
چشم به عنوان یکی از حیاتی ترین حسگرهای انسان نقش بسزایی در زندگی ما دارد. امروزه با پیشرفت چشمگیری که در ساخت پردازنده ها صورت گرفته است، این امکان نیز برای ما فراهم شده تا در ساخت روبات ها و سیستم های کنترلی از دوربین به عنوان یک چشم مصنوعی استفاده کنیم.

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

منبع
[عکس: matlabOpencv.gif]

« کلاس های آموزش پردازش تصویر با نرم افزار متلب »

جهت کسب اطلاعات بیشتر با شماره تلفن 09130130252 تماس حاصل فرمائید.


«جهت مشاهده سرفصل این دوره کلیک نمایید»
پاسخ
سپاس شده توسط worm ، mehdivaisi ، mehrdad.a ، parisaaa
#4
یک تصویر را می توان توسط تابع دوبعدی f(x,y) نشان داد که در آن X و Y را مختصات مکانی و مقدار f در هر نقطه را شدت روشنایی تصویر درآن نقطه می نامند. اصطلاح سطح خاکستری نیز به شدت روشنایی تصاویر مونوکروم اطلاق میشود . تصاویر رنگی نیز از تعدادی تصویر دوبعدی تشکیل می شود. زمانی که مقادیر X و Y و مقدار f(x,y) با مقادیر گسسته و محدود بیان شوند ، تصویر را یک تصویر دیجیتالی می نامند. دیجیتال کردن مقادیر X و Y را Sampling و دیجیتال کردن مقدار f(x,y) را quantization گویند. برای نمایش یک تصویر M * N از یک آرایه دو بعدی ( ماتریس) که M سطر و N ستون دارد استفاده می کنیم . مقدار هر عنصر از آرایه نشان دهنده شدت روشنایی تصویر در آن نقطه است. هر عنصر آرایه یک مقدار 8 بیتی است که می تواند مقداری بین 0 و 255 داشته باشد. مقدار صفر نشان دهنده رنگ تیره ( سیاه ) و مقدار 255 نشان دهنده رنگ روشن ( سفید ) است.
[عکس: boat.jpg]
به عنوان مثال تصویر روبرو که سایز آن 288 * 265 است از یک ماتریس که دارای 288 سطر و 265 ستون است برای نمایش تصویر استفاده می کند . هر پیکسل از این تصویر نیز مقداری بین 0 و 255 دارد . نقاط روشن مقادیری نزدیک به 255 و نقاط تیره مقادیر نزدیک به 0 دارد. همه توابع پردازش تصویر از این مقادیر استفاده کرده و اعمال لازم را بر روی تصویر انجام می دهند.

پردازش تصویر در MATLAB :
خواندن تصویر در محیط MATLAB با استفاده از تابع imread و نمایش آن توسط تابع imshow انجام می پذیرد. به عنوان مثال دستور زیر تصویر rice.png را خوانده و ماتریس مربوط به تصویر را در اختیار ما قرار می دهد(در مثال زیر این ماتریس با نام im مشخص شده است). مقدار هر عنصر در این ماتریس شدت روشنایی تصویر در آن نقطه را نشان می دهد :

کد پی‌اچ‌پی:
>> im imread('rice.png');
>> 
imshow(im); 

منبع
[عکس: matlabOpencv.gif]

« کلاس های آموزش پردازش تصویر با نرم افزار متلب »

جهت کسب اطلاعات بیشتر با شماره تلفن 09130130252 تماس حاصل فرمائید.


«جهت مشاهده سرفصل این دوره کلیک نمایید»
پاسخ
سپاس شده توسط mehdivaisi ، zgh ، afba ، mary92 ، farshidkh1385 ، mehrdad.a ، parisaaa
#5
در رایج ترین مدل رنگ گرافیک کامیوتری، رنگ ها از ترکیب سه رنگ قرمز، سبز و آبی به وجود می آیند که در مجموع 16581375 رنگ متفاوت توسط این سه مولفه می توان تولید کرد. این مدل رنگ در گرافیک کامپیوتری با نام RGB شناخته می شود. در کنار مدل رنگ RGB مدل های دیگری همچون CMYK ، HSI ، HSV و Grayscale نیز وجود دارد که هریک از آن ها به روش متفاوتی به نمایش رنگ ها می پردازند. در این بین مدل رنگ Grayscale از اهمیت ویژه ای برای ما برخوردار است. چرا که در بیشتر کاربردها نیازی به یک تصویر رنگی نمی باشد و داشتن تنها یک تصویر خاکستری کافی خواهد بود. در میان عموم ، تصویر خاکستری با نام تصویر سیاه و سفید شناخته می شود (البته استفاده از نام سیاه سفید به جای خاکستری اشتباه است و در اینجا فقط برای روشن تر شدن مطلب از این نام استفاده کرده ایم)

یک تصویر RGB متشکل از سه ماتریس است که هریک از آنها مقادیر Red ( قرمز ) ، Green ( سبز ) و Blue ( آبی ) تصویر رنگی را نگه می دارند. نمایش تصویر بر روی صفحه نمایش نیز از ترکیب مقادیر درآیه های متناظر در سه ماتریس انجام می پذیرد. همانطور که در ابتدا یادآور شدیم ، در بیشتر کاربردها نیازی به تصویر رنگی نداریم و استفاده از یک تصویر خاکستری کافی خواهد بود. یک پیکسل زمانی مقدار خاکستری خواهد داشت که مولفه های R ، G و B آن مقادیر یکسانی داشته باشند. با توجه به این تعریف، در مواردی که تصویر ورودی یک تصویر RGB است، برای Grayscale کردن آن از فرمول زیر می توانیم استفاده می کنیم :

S_R(x, y) = S_G(x, y) = S_B(x, y) = [R(x, y) + G(x, y) + B(x, y)] / 3
در این فرمول S_X مولفه های تصویر خروجی و R ، G و B هر یک به تریبب ماتریس مولفه های سبز قرمز و آبی تصویر ورودی می باشند. شبه کد زیر نحوه Grayscale کردن یک تصویر RGB با سایز M * N را نشان می دهد :

کد پی‌اچ‌پی:
Procedure Grayscaleoutput input As Bitmap )
Begin
  
For 1 to M Do
    For 
1 To N Do
     
Temp = ( input.RI,) + input.GI,) + input.BI,) ) / 3
     Output
.I,) = Temp
     Output
.I,) = Temp
     Output
.I,) = Temp
    End 
For
  
End For
End 

شکل زیر یک تصویر RGB را به همراه تصویر خاکستری آن نشان می دهد :

[عکس: RGB.jpg]
[عکس: Grayscale.jpg]

از آنجا که مقادیر ماتریس های R , G , B پس از Grayscale کردن تصویر باهم برابر هستند ، بنابراین می توان تنها از یک ماتریس برای نشان دادن مقادیر استفاده کرد. در الگوریتم های بعدی که برای پردازش تصویر ارائه خواهند شد از تصاویر Grayscale استفاده خواهیم کرد . بنابراین عملیات نیز بر روی تنها یک ماتریس انجام خواهد پذیرفت.

پردازش تصویر در MATLAB :
برای خاکستری کردن یک تصویر RGB می توان از تابع rgb2gray استفاده کرد. به عنوان مثال تکه کد زیر یک تصویر رنگی را خوانده و آن را به تصویر خاکستری تبدیل می کند:

کد پی‌اچ‌پی:
>> im imread('onion.png');
>> 
imshow(im);
>> 
imGray rgb2gray(im);
>> 
imshow(imGray); 

منبع
[عکس: matlabOpencv.gif]

« کلاس های آموزش پردازش تصویر با نرم افزار متلب »

جهت کسب اطلاعات بیشتر با شماره تلفن 09130130252 تماس حاصل فرمائید.


«جهت مشاهده سرفصل این دوره کلیک نمایید»
پاسخ
سپاس شده توسط mehdivaisi ، zgh ، farshidkh1385 ، mehrdad.a
#6
تفریق دو تصویر هم اندازه بدین مفهوم است که شدت روشنایی پیکسل های متناظر دو تصویر را از هم کم کنیم . فرض کنید می خواهیم تغییرات مغز افرادی را بررسی کنیم که دچار بیماری آلزایمر هستند. برای این منظور می توانیم تصویری از یک مغز سالم را در مراحل مختلف با تصویر مغز فردی که دچار بیماری آلزایمر است ، مقایسه کنیم . با اعمال عملگر فوق بر روی دو تصویر مذکور نقاطی از مغز که در آن نقاط مغر دچار تغییر شده است مشخص می شوند . تصویر زیر عکس اسکن PET مغز نرمال و بیمار را به همراه حاصل تفریق آن ها نشان می دهد :

[عکس: PET_normalBrainGray.jpg]
تصویر بدون نویز

[عکس: PET_alzaimerBrainGray.jpg]
تصویر نویزدار

[عکس: PET_subtract.jpg]
تصویر نویزدار
شبه کد زیر نحوه پیاده سازی عملگر تفریق را نشان می دهد :
کد پی‌اچ‌پی:
Procedure Subtract (image1image2 Byte[][])
Begin
  result 
:Byte[][]
  
sub:integer
  
For 1 To Height Do
    For 
1 To Width Do
     
sub image1[ij] - image2[ij]
     
result[ij] = sub sub
    End 
For
  
End For
  Return 
result
End 
هنگام تفریق مقادیر پیکس ها ، مقادیر منفی را به مقدار صفر تبدیل می کنیم . همچنینی می توانیم هنگام تفرق از قدرمطلق تفریق نیز استفاده کنیمبه عنوان یک مثال کاربردی از تفریق دو تصویر می توان به شناسایی حرکت در سیستم های دوربین مدار بسته اشاره کرد. زمانی می گوییم حرکت رخ داده است که در بین دو فریم متوالی گرفته شده از دوربین اختلاف وجود داشته باشد. و همانطور که در ابتدا یادآور شدیم، برای محاسبه اختلاف بین دو تصویر از عملگر تفریق استفاده می کنیم. بنابراین با تفریق فریم فعلی و فریم قبلی گرفته شده از دوربین می توانیم اختلاف موجود در دو تصویر را پیدا کنیم. از دیگر کاربردهای تفریق دو تصویر می توان به حذف پشت زمینه ثابت از تصویر اشاره کرد.

پردازش تصویر در MATLAB :
برای تفریق دو تصویر هم اندازه از تابع imsubtract در MATLAB می توان استفاده کرد. به عنوان مثال مجموعه دستورات زیر دو تصویر را خوانده و حاصل تفریق آن ها را نشان می دهد.

کد پی‌اچ‌پی:
>> im imread('rice.png');
>> 
imshow(im);
>> 
imBack imread('background.png');
>> 
imshow(imBack);
>> 
res imsubtract(im,imBack); 

منبع
[عکس: matlabOpencv.gif]

« کلاس های آموزش پردازش تصویر با نرم افزار متلب »

جهت کسب اطلاعات بیشتر با شماره تلفن 09130130252 تماس حاصل فرمائید.


«جهت مشاهده سرفصل این دوره کلیک نمایید»
پاسخ
سپاس شده توسط danial82 ، mehdivaisi ، mehrdad.a
#7
واقعا ممنونم از وقتی که میذارید
ولی این فروم پر شده از تاپیک های آموزشی نیمه کاره
فکر میکنم بهترین راه برای آموزش گذاشتن یک مثال و تعریف یک پروژه میباشد
امیدوارم ادامه بدید
پاسخ
#8
سلام
درست می فرمائید. اما فرصت کم بنده اجازه نمیده که بتونم همه آموزش ها رو همزمان پیش ببرم. به همین خاطر سعی می کنم آموزش ها رو شروع کنم و خط دهی کنم تا دوستان هم وارد صحنه شوند و در امر آموزش ما رو یاری کنند.

اما بعضی از آموزش ها در تاپیک های جداگانه هستند اما با یدکدیگر بی ارتباط نیستند و باید بخش های مختلف آموزشی انجمن رو بررسی کنید(این یکی از تفاوت های یک انجمن با کتاب هست)

به هرحال از نظر شما سپاسگذارم

همینجا از سایر دوستان برای همکاری در داشتن انجمنی پربارتر دعوت به همکاری می کنم.
دوستانی هم که نگرانند از اینکه مطلب آموزشی اونها تکراری یا نا مناسب باشه می توانند ابتدا برای من ایمیل یا پیغام خصوصی کنند و من اگر مناسب دیدم به اونها اطلاع می دهم تا در انجمن قرار دهند.
موفق و پیروز باشید
[عکس: matlabOpencv.gif]

« کلاس های آموزش پردازش تصویر با نرم افزار متلب »

جهت کسب اطلاعات بیشتر با شماره تلفن 09130130252 تماس حاصل فرمائید.


«جهت مشاهده سرفصل این دوره کلیک نمایید»
پاسخ
#9
ممنون از شروع خوبتون ...
داشتم مطالب رو دنبال میکردم ... اما اکثر اموزش ها پراکنده و ناقص رها شده
امیدوارم وقت اجازه بده اموزش ها رو کامل کنید
ممنون
پاسخ
سپاس شده توسط
#10
سلام 
سوالی دارم: آیا فیلترها--> ضرب فیلتر در تک تک پیکسل های ماتریس تصویر که به اون کانوولوشن میگیم . به معادله دیفرانسیل کانوولوشن مربوط میشه؟ و اینکه چطور کانوولوشن در حوزه ی فضا به ضرب در حوزه ی فرکانس تبدیل میشه.

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


موضوعات مشابه ...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information کتابها ، منابع و مقالات جهت یادگیری پردازش تصویر مهرداد عباسی 33 87,236 12-06-2018, 10:14 AM
آخرین ارسال: jarahlaser
  تشخیص امضای دستی با استفاده از پردازش تصویر sa akbari 0 1,694 01-06-2018, 08:42 PM
آخرین ارسال: sa akbari
  پردازش تصویر چیست؟ مهرداد عباسی 11 47,625 12-10-2017, 01:37 AM
آخرین ارسال: sa2017
  مقایسه دو تصویر از نظر ساختاری (SSim) مهدی ابراهیمی 2 7,709 08-12-2017, 07:25 PM
آخرین ارسال: سوسن مروارید
  قطعه بندی در پردازش تصویر helena_lovely99 14 39,012 10-01-2015, 11:48 AM
آخرین ارسال: raha1o5o3
  هیستوگرام تصویر چیست و همه چیز در رابطه با هیستوگرام(Histogram) مهدی ابراهیمی 6 40,813 02-24-2015, 08:28 AM
آخرین ارسال: مهدی ابراهیمی
Photo راهنمایی در مورد فرمول بهبود تصویر lakers 0 3,753 01-05-2015, 08:32 PM
آخرین ارسال: lakers
Sad ترجمه لغات پردازش تصویر atiati 4 15,085 09-30-2014, 09:35 PM
آخرین ارسال: mostafa.mcn90
  تبدیل مجموعه تصویر بصورت فیلم 8moein8 7 13,358 09-21-2014, 03:22 PM
آخرین ارسال: 8moein8
  پردازش تصویر با استفاده از الگوریتم k-means deniz 2 8,576 07-16-2014, 05:32 AM
آخرین ارسال: m_parsa11

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان