همه چیز درباره پردازش تصاویر - نسخه قابل چاپ +- Parsi Coders (http://parsicoders.com) +-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37) +--- انجمن: Other (http://parsicoders.com/forumdisplay.php?fid=85) +--- موضوع: همه چیز درباره پردازش تصاویر (/showthread.php?tid=413) |
RE: همه چیز درباره پردازش تصاویر - Amin_Mansouri - 06-20-2011 مقدمه پردازش تصویر چشم به عنوان یکی از حیاتی ترین حسگرهای انسان نقش بسزایی در زندگی ما دارد. امروزه با پیشرفت چشمگیری که در ساخت پردازنده ها صورت گرفته است، این امکان نیز برای ما فراهم شده تا در ساخت روبات ها و سیستم های کنترلی از دوربین به عنوان یک چشم مصنوعی استفاده کنیم. پنج کاربرد عمده پردازش تصویر را می توان رباتیک ، سیستم های دفاعی ، مهندسی پزشکی ، کنترل صنعتی و گرافیک کامپیوتری عنوان کرد. در سیستم های رباتیک معمولا از پردازش تصویر برای هدایت ربات و تشخیص اشیا استفاده می شود. در سیستم های دفاعی برای یافتن هدف و یا رهگیری یک هدف متحرک پردازش تصویر یکی از قابل اعتمادترین روش های موجود می باشد. در مورد کاربردهای گرافیکی نیز یکی از معروفترین نرم افزارهای مبتنی بر پردازش تصویر فتوشاپ می باشد که همگی با کاربردهای این نرم افزار آشنا هستیم. تشخیص نوع بیماری نیز رایج ترین کاربرد پردازش تصاویر پزشکی است. در نهایت ، امروزه خطوط تولید صنعتی برای کنترل کیفیت محصولات تولید شده و همچنین کنترل حرکات خط تولید از سیستم های مبتنی بر پردازش تصویر بهره جسته اند. یک تصویر از لحظه ورود به سیستم پردازش تصویر تا تولید تصویر خروجی، به ترتیب مراحل زیر را طی می کند: آنجه که در پردازش تصویر اهمیت بسیاری دارد، تسلط کامل بر مفاهیم تکنیک های پردازش تصویر است. به عنوان مثال خواهیم دید که چگونه تنها با چند تکنیک بسیار ساده پردازش تصویر می توانیم یک سیستم دوربین امنیتی ایجاد کنیم. RE: همه چیز درباره پردازش تصاویر - Amin_Mansouri - 06-20-2011 جمع دو تصویر جمع دو تصویر بدین مفهموم است که در دوتصویر ، شدت روشنایی پیکسل های متناظر دو تصویر را از باهم جمع کنیم . تصاویر زیر نتیجه اعمال عملگر جمع را نشان می دهند: تصویر اول تصویر دوم حاصل جمع دو تصویر: شبه کد زیر نحوه پیاده سازی عملگر جمع را نشان می دهد : کد: Procedure Add (image1, image2 : Byte[][]) یکی از رایج ترین کاربردهای جمع دو تصویر افزودن پشت زمینه به تصویر است. برای این منظور نیاز به دو تصویر پشت زمینه و تصویر شی داریم که تصویر شی باید در مقابل پرده ای با رنگ ثابت گرفته شود. از جمع کردن دو تصویر مذکور تصویری با پشت زمینه دلخواه به دست می آید. پردازش تصویر در MATLAB : برای تفریق دو تصویر هم اندازه از تابع imadd در MATLAB می توان استفاده کرد. به عنوان مثال مجموعه دستورات زیر دو تصویر را خوانده و حاصل جمع آن ها را نشان می دهد. کد: >> im = imread('rice.png'); RE: همه چیز درباره پردازش تصاویر - Amin_Mansouri - 09-23-2011 در سورس زیر که با ویژوال بیسیک 6 نوشته شده است منبع خوبی برای کسانی که فعلا میخوان رنگ تصاویر رو مثلا سیاه سفید با بصورت تاریک تبدیل کنند. همچنین در این سورس از چند تابع api گرافیکی استفاده شده از قبیل : کد: Declare Function SetStretchBltMode Lib "gdi32" (ByVal hdc As Long, ByVal nStretchMode As Long) As Long تصویر برنامه : دانلود: Image_AutoCorrection(www.parsicoders.com).rar (اندازه 147.86 KB / تعداد دانلود: 39) پسوورد : کد: www.parsicoders.com RE: همه چیز درباره پردازش تصاویر - Amin_Mansouri - 10-19-2011 درود با این سورس که گذاشتم با دلفی نوشته هست میتونید باهاش کد امنیتی یا همون Captcha رو دیکریپت کنید یا به همون عدد تبدیل کنید. در سورس زیر چند نمونه کد امنیتی یا Captcha گذاشته شده است که میتونید به متن تدیلش کنید. در واقع یه نوع پردازش تصاویر در سورس زیر میبینید و به کار نویسنده اسپمرها هم میاد. سورسو پابلیک کردم به حجم 87 کیلو بایت captcha_decrypt(www.parsicoders.com).rar (اندازه 77.48 KB / تعداد دانلود: 27) RE: همه چیز درباره پردازش تصاویر - mahtab1000 - 12-26-2011 سلام من دارم روی واترمارکینگ صوت کار میکنم.یه سوال داشتم می خواستم ببینم طیف گسترده یک تکنیک جدا از cepstrumاست یا اینکه cepstrum جزیی از طیف گیترده است ؟ تو رو خدا اگه میدونین بهم بگید کلی گیج شدم.پیشاپیش ازتون تشکر میکنم.ممنون RE: همه چیز درباره پردازش تصاویر - Amin_Mansouri - 12-26-2011 (12-26-2011، 06:18 PM)mahtab1000 نوشته: سلام من دارم روی واترمارکینگ صوت کار میکنم.یه سوال داشتم می خواستم ببینم طیف گسترده یک تکنیک جدا از cepstrumاست یا اینکه cepstrum جزیی از طیف گیترده است ؟ تو رو خدا اگه میدونین بهم بگید کلی گیج شدم.پیشاپیش ازتون تشکر میکنم.ممنون سلام خوش امدید به فروم نیازی به خواهش نبود دوست عزیز در این مقاله توضیحاتی داده شده اگر به کارتون نیومد بگید باز مقاله اپلود کنم دانلود : a8a55fff-4b23-4aed-b236-3126bc68893f.rar (اندازه 222.54 KB / تعداد دانلود: 35) RE: همه چیز درباره پردازش تصاویر - Bi ehsas - 12-26-2011 (12-26-2011، 06:18 PM)mahtab1000 نوشته: سلام من دارم روی واترمارکینگ صوت کار میکنم.یه سوال داشتم می خواستم ببینم طیف گسترده یک تکنیک جدا از cepstrumاست یا اینکه cepstrum جزیی از طیف گیترده است ؟ تو رو خدا اگه میدونین بهم بگید کلی گیج شدم.پیشاپیش ازتون تشکر میکنم.ممنون salam sorry i dont no/:dodgy: RE: همه چیز درباره پردازش تصاویر - Amin_Mansouri - 02-08-2012 monijoon نوشته: سلام...میخاستم یک خواهش ازتون بکنم من دانشجوی ارشد نرم افزارم ...دارم رو یک مقاله کارمیکنم که شدیدا احتیاج به کمک دارم .تشخیص عیوب کاشی. با موجک 2d ..میشه قطعه کدی چیزی اگه دارید در اختیارم بزارید تا بتونم کارم انجام بدم جواب دوست عزیز : در آنالیز تابعی، تبدیل موجک گسسته تبدیل موجکی است که توابع موجک آن نمونهبرداری شده اند. سادهترین و اولین تابع موجک گسسته، موجک هار است که توسط آلفرد هار، ریاضیدان مجاری، معرفی شد. مثالی از تبدیل موجک گسسته که در JPEG2000 بکار میرود. با عبور دادن تصویر اولیه از فیلترهای بالاگذر سه تصویر حاصل میشود که هر کدام تغییرات محلی (جزئیات) تصویر را در جهتی نمایش میدهند. مثلاً مؤلفه قطری نمایشگر تغییرات تصویر در جهت قطری است. همچنین تصویر اصلی از فیلتر پایینگذر نیز عبور داده میشود و زیرنمونهبرداری شده تا تصویر تقریبی حاصل شود. سپس این تصویر تقریبی مانند تصویر اصلی از فیلترهای بالاگذر و و پایینگذر عبور داده میشود تا چهار تصویر کوچکتر حاصل شوند. همانطور که دیده میشود، تصویر تقریبی حاصل (تصویر بالا سمت چپ) تقریبی خوب از تصویر اصلی است (و بدین سبب مؤلفه تقریبی نامیده میشود). و دوست عزیز یه تیکه کد خواستن : توضیحات بیشتر : The picture shows a 2 level wavelet transform. For the low-pass and high-pass filters, I have used the same of the JPEG2000, lossy transform, so that this is the wavelet that is used in the JPEG2000 format. In general, it is quite hard to show a wavelet transform properly, because of the different ranges of the different parts. I have made the following choices. First of all, I wanted to use a picture with both flat surfaces, sharp edges and details. The standard test image Lenna is commonly used for this purpose, but I didn't want to use it because it is not in the public domain. I took a look at the big featured picture gallery con Commons and I have chosen Image:Lichtenstein img processing test.png because it has lots of details in the bottom left, while the top right has almost no details because of the sky. Moreover, the edges of the castle are really sharp, so they can be clearly seen in the wavelet transform. I have saved the original image in a file called lichtenstein.png, to make it simpler. Then I have used the following Matlab script: و همچنین سورس کد تبدیل موجک به زبان متلب کد: clear all توضیحاتی بیشتر در مورد تکه کد بالا : If I had placed all the transforms one next to the other, I would have got a picture wider than 512x512, with some odd behaviour close to the edges. In order to avoid those problems, I have cropped the transforms so that I can easily put one next to the other to get a 512x512 picture. In general, it is not a good idea to discard information, but here I just wanted to create a simple and clear example. In order to show the derivatives, I have taken the absolute values (I want to show the magnitude of the derivative), then I have improved the contrast to make them look clearer. منابع : مشارکتکنندگان ویکیپدیا، «Discrete wavelet transform»، ویکیپدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۶ ژانویه ۲۰۰۹). و همچنین دوست عزیز برای تشخیص عیوب کاشی و موجک 2D میتونن به منبع فارسی زیر هم مراجعه کنند : http://ismvip.ir/modules.php?name=Content&pa=showpage&pid=248 موفق باشید RE: همه چیز درباره پردازش تصاویر - elahe2 - 03-19-2012 یک تصویر رنگی با فرمت TIFF دارم میخواستم سه تا ماتریس R G B رو از هم جدا کنم و با مقادیرش کدنویسی کنم لطفا راهنمایی کنید ممنون میشم RE: همه چیز درباره پردازش تصاویر - Amin_Mansouri - 03-19-2012 (03-19-2012، 05:23 PM)elahe2 نوشته: یک تصویر رنگی با فرمت TIFF دارم میخواستم MATLAB can use an MxNx3 matrix to represent a RGB image, with each MxN submatrix representing RGB color intensities. The help on the image command can explain this further. If you have three MxN matricies red, green, blue you can create the RGB matrix in several ways. I have used the following two: (this assumes you have already defined m, n, red, green and blue) کد: I = zeros(m, n, 3); CODE کد: I = reshape([red; green; blue], m, n, 3); |