# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > C#‎‎ > مقاله: پردازش تصویر

## sokote_bi_payan

به نام خدا

با سلام خدمت اساتید؛

تو این تاپیک قصد دارم در مورد پردازش تصویر بحث کنیم و هر کسی از دوستان که کاری تو این زمینه انجام داده لطفا قرار بده

پیکسل : کوچکترین جزء یک تصویر را پیکسل گویند.

هر تصویر شامل n پیکسل افقی در m پیکسل عمودی  که هر کدام داری یک رنگ میباشد و با قرار گرفتن این پیکسلها در کنار یکدیگر تصویر ما شکل می گیرد.

پردازش تصویر :

	 امروزه بیشتر به موضوع پردازش تصویر دیجیتال گفته می‌شود که شاخه‌ای از دانش رایانه است که با پردازش  سیگنال دیجیتال که نماینده تصاویر برداشته شده با دوربین دیجیتال یا پویش شده توسط پویشگر هستند سر و کار دارد.

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

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


پیدا کردن 4 گوش ها در یک تصویر:

----------


## sokote_bi_payan

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

----------


## sokote_bi_payan

به نظر شما چگونه می توان از میان هزاران پیکسل( با رنگ های مختلف ) چهارگوش ها را تشخیص داد؟

روشی که من به صورت کاملا ابتکاری انتخاب کردم به این صورت می باشد ( مطمئنا ممکن است ایراداتی نیز داشته باشد)

 پیدا کردن رنگ پس زمینه
تا وقتیکه تمام پیکسل ها را مشاهده نکردی تابع جستجو را فراخوانی کن
ابتدا از سمت راست آن پیکسل شروع به حرکت کن 
تا وقتیکه به پایان نرسیدی و رنگ پیکسل خانه بعدی برابر با پیکسل مورد نظر است کار را ادامه بده
برای سمت پایین ، چپ و بالا نیز این کار را ادامه بده 
سپس تعداد پیکسل های بدست آمده از بالا را مورد بررسی قرار بده
اگر نقاط مورد نظر مانند یک چهارگوش می باشد ، به تعداد 4 گوش ها یکی اضافه کن
نقطه بالا-چپ و نقطه پایین-راست را ذخیره کن
بعد از اتمام کار نقاط را رسم کن

----------


## sokote_bi_payan

پیدا کردن رنگ پس زمینه

اگر با روشی که در قسمت قبل گفتم رنگ پس زمینه را مشخص نمی کردیم ممکن بود خود پس زمینه نیز چهارگوش حساب می شد.

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

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

----------


## sokote_bi_payan

بررسی پیکسل ها:

        private void Search_Color()
        {
            /*////////// 
             * algoritm :
             *         ebteda range pas zamine bayad moshakhas she 
             *         az khaneye aval shoro kon be samt rast harkat kon
             *         1- agar ghablan dide nashode adad ra negah dar va ba khaneye badi 
             *              moghayese kon ta vaghtike be payane satr naresidi ya inke
             *              khaneye badi mosavis edame bede
             *          
            */
            
            /////// moshakhas shodane range pas zamine 
            if (Back_Color == 0)
                Background_Color();
            /////////////////////////
            bool[,] serached = new bool[bmp.Height, bmp.Width];

            for (int i = 0; i < bmp.Height; i++)
            {
                for (int j = 0; j < bmp.Width ; j++)
                {
                    int pix = 0;
                    pix =  bmp.GetPixel(j,i).ToArgb();
                    int ekhtel = Ekhtelaf(pix);
                    //if (serached[i, j] == false && pix != Back_Color && pix != Back_Color1 && pix != Back_Color2)
                    if (serached[i, j] == false && (pix != Back_Color && !(pix - Back_Color <= ekhtel && pix - Back_Color >= 0)))
                    {
                        //// bayad az samte rast shoro konim be gardesh
                        Search_right(pix,i,j, ref serached);

                    }
                }

----------


## sokote_bi_payan

حالا باید به ترتیب از سمت راست شروع کنیم 

private void Search_right(int pixel, int row , int col, ref bool[,] searched)
        {
         
            Point P1, P2;
            /// mikhaym bebinim chan ta be rast raftim chan ta be chap ,... ta badan betonim
            /// motevajeh shim in 4 goosh hast ya na
            int Rast=0, Chap=0, Paeen=0, Bala = 0;
            int i = row , j = col;

            P1 = new Point(row,col);

            int ekhtel = Ekhtelaf(pixel);
            for (; (j < bmp.Width && (bmp.GetPixel(j, i).ToArgb() == pixel || (bmp.GetPixel(j, i).ToArgb() - pixel <= ekhtel && bmp.GetPixel(j, i).ToArgb() - pixel >=0 ))); j++)
            {
                    Rast++;
                    searched[i, j] = true;
            }
            
            // chon dar halgheye bala yeki ezafi mire jolo vase inke bebine be payan reside 
            j--;

            Paeen = Search_Down(pixel ,ref i ,ref j , ref searched);
            P2 = new Point(i, j);
            Chap = Search_Left(pixel,ref i,ref j, ref searched);
            Bala = Search_UP(pixel, ref i, ref j, ref searched);

            int avg = (Bala + Paeen + Chap + Rast) / 4;

            if (avg >= 9 && Bala >= 9 && Paeen >= 9 && Chap >= 9 && Rast >= 9)
            {
                int avg_amodi, avg_ofoghi;
                avg_amodi = (Bala + Paeen) / 2;
                avg_ofoghi = (Chap + Rast) / 2;
                if (((avg_amodi - Bala) >= -50 && (avg_amodi - Bala) <= 50) && ((avg_amodi - Paeen) >= -50 && (avg_amodi - Paeen) <= 50) && ((avg_ofoghi - Chap) >= -50 && (avg_ofoghi - Chap) <= 50) && ((avg_ofoghi - Rast) >= -50 && (avg_ofoghi - Rast) <= 50))
                {
                    sbp_point[Count_Rectangle] = new SBP_Point();
                    sbp_point[Count_Rectangle].Point_Start = P1;
                    sbp_point[Count_Rectangle].Point_Finish = P2;

                    Count_Rectangle++;
                    /// dakhele 4gosh niz bayad begooem ke digar search nashavad
                    Searched_into_rect(P1, P2, ref searched);
                }
            }
            
        }
        
        private int Search_Down(int pixel, ref int row,ref int col, ref bool[,] searched)
        {
            int paeen = 0;
            int i = row, j = col;
            int ekhtel = Ekhtelaf(pixel);
            try
            {
                for (; (i < bmp.Height && (bmp.GetPixel(j, i).ToArgb()) == pixel || (bmp.GetPixel(j, i).ToArgb() - pixel <= ekhtel && bmp.GetPixel(j, i).ToArgb() - pixel >= 0)); i++)
                {
                    paeen++;
                    searched[i, j] = true;

                }
            }
            catch (Exception ex) { }
            finally
            {
                // chon dar halgheye bala yeki ezafi mire jolo vase inke bebine be payan reside 
                i--;

                row = i;
                col = j;
            }
            return paeen;
        }

        private int Search_Left(int pixel,ref int row, ref int col, ref bool[,] searched)
        {
            int chap = 0;
            int i = row, j = col;
            int ekhtel = Ekhtelaf(pixel);
            try
            {
                for (; (j > 0 && (bmp.GetPixel(j, i).ToArgb()) == pixel || (bmp.GetPixel(j, i).ToArgb() - pixel <= ekhtel && bmp.GetPixel(j, i).ToArgb() - pixel >= 0)); j--)
                {

                    chap++;
                    searched[i, j] = true;

                }
            }
            catch (Exception ex)
            {
                
            }
            finally
            {
                // chon dar halgheye bala yeki ezafi mire jolo vase inke bebine be payan reside 
                j++;
                row = i;
                col = j;
            }
            return chap;
        }
        private int Search_UP(int pixel,ref int row,ref int col, ref bool[,] searched)
        {
            int bala = 0;
            int i = row, j = col;
            int ekhtel = Ekhtelaf(pixel);
            try
            {
                for (; (i > 0 && ((bmp.GetPixel(j, i).ToArgb()) == pixel) || (bmp.GetPixel(j, i).ToArgb() - pixel <= ekhtel && bmp.GetPixel(j, i).ToArgb() - pixel >= 0)); i--)
                {
                    bala++;
                    searched[i, j] = true;
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
                // chon dar halgheye bala yeki ezafi mire jolo vase inke bebine be payan reside 
                i++;
                row = i;
                col = j;
            }
            return bala;
        }

----------


## sokote_bi_payan

و حالا اینم از سورس این پروژه

خیلی دوست دارم دوستان نظر بدین.

این پروژه صد در صد ایراد داره لطفا هر چی به ذهنتون می رسه بگید 

خیلی ممنون

موفق باشید

یا علی

دوستان اگه کس دیگه ای هم تو این زمینه کار کرده لطفا کارشو بذاره

منم اگه ادامه دادم این کارو اینجا ان شاءالله حتما می ذارم

----------


## aliaaa

سلام دوستان من یه نرم افزار دارم که برای پنهان کردن اطلاعات درون تصاویر هست به این علم میگن steganography
روش کاراینطوریه که اگه حالت ساده ی کار رو بگیریم باید از بیت های کم ارزش LSB پیکسل ها استفاده کرد و اطلاعات (فایل) خودمون رو در آنها پنهان کنیم.
نرم افزار من:
www.sourceforge.net/projects/AnyFile2Image
خوشحال می شم نظراتتون رو بشنوم.

----------


## sokote_bi_payan

دوستان به نظرتون اگه بخوایم بفهیم تو تصویر داده شده آیا دایره به کار گرفته شده یا نه ؟ به نظرتون چیکار باید کنیم ؟

----------


## بیتافرهی

آيا منظور از پردازش تصوير اين نيست كه هر عكسي كه به برنامه بدهيم تشضيص دهد آيا با عكس قبلي كه در بانكش بوده،مطابقت دارد يا نه؟حتي عكس انسان.
در ضمن  اين برنامه اي كه شما نوشتيد ،آيا امكانش هست كه هر نوع عكسي را كاربر انتخاب كند؟
(از نظر فرمت و تصاوير واقعي و...)
اين عكس ها را چگونه در بانكتان ذخيره كرده ايد؟

----------


## shask00l

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

----------


## sokote_bi_payan

راهی که شرکت های بزرگ روش کار می کنند میشه گفت که ابتدا لبه ها را پیدا می کنند بعد اون لبه ها را بررسی می کنند

مثلا تو لایبری open CV هر عکسی و که می دادی می تونست خیلی راحت چهارگوش ها را تشخیص بده

متاسفانه ماها (مخصوصا خودم) منتظریم تا یه فرجی از اون ور آب بشه و ما ازش استفاده کنیم.

----------


## linux

قبل از هر کاری باید ببینید قبل از شما چکارها کردند به چه نتایجی رسیدن ، کتاب و نوشته مناسب پیدا کنید و بخوانید ، شاید احتیاج به دانش بیشتری داشته باشید
 حتما این کتاب را بخوانید
http://www.imageprocessingplace.com/..._main_page.htm

----------


## sokote_bi_payan

تو اون پروژه ای که من گذاشتم یه متد هم واسه اینکه بتونه عکس و تبدیل به عدد کنه گذاشتم

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

این جوری تعداد رنگهامون کمتر میشه

آقای لینوکس نظر شما چیه ؟

----------


## hamed aj

با سلام

پشتکار شما عالی هست، همینطور ادامه بدین. البته پیشنهاد میکنم سعی کنید اول کارها و ایده های دیگران رو مشاهده کنید و ادامه دهنده راه اونها باشید.

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

استفاده از روشهای CI یا هوش محاسباتی (شبکه های عصبی مصنوعی - الگوریتم زنتیک - منطق فازی) بهترین علوم برای کاری هست که مدنظر شماست.

برای کار در زمینه Image Processing هم بهتره از نرم افزار Matlab استفاده کنید که Toolbox بسیار قوی در این زمینه داره و نیازی نیست که توابع مورد نظرتون رو خودتون بنویسید.

موفق باشید

----------


## hamed aj

> آيا منظور از پردازش تصوير اين نيست كه هر عكسي كه به برنامه بدهيم تشضيص دهد آيا با عكس قبلي كه در بانكش بوده،مطابقت دارد يا نه؟حتي عكس انسان.
> در ضمن  اين برنامه اي كه شما نوشتيد ،آيا امكانش هست كه هر نوع عكسي را كاربر انتخاب كند؟
> (از نظر فرمت و تصاوير واقعي و...)
> اين عكس ها را چگونه در بانكتان ذخيره كرده ايد؟



یکی از مقاصد Image Processing بازیابی تصاویر یا (Image Retrieval) می باشد (منظورم بازیابی محتوی محور تصاویر هست اگر اشتباه نکنم بهش CBRI گفته می شود)

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

----------


## sokote_bi_payan

خیلی ممنون حامد جان - 

می دونم لایبری های بزرگی تو این زمینه هست من کمی با Open CV  کار کردم که مال شرکت اینتل هست.

هدف من این بود که یه کنجکاویه قشنگی تو این زمینه داشتم دوست داشتم خودم به این مسئله پی ببرم

روشی که من رفتم می دونم خیلی ایراد داره ولی شیرینیه خاص خودش و هم داره

----------


## sokote_bi_payan

> آيا منظور از پردازش تصوير اين نيست كه هر عكسي كه به برنامه بدهيم تشضيص دهد آيا با عكس قبلي كه در بانكش بوده،مطابقت دارد يا نه؟حتي عكس انسان.
> در ضمن اين برنامه اي كه شما نوشتيد ،آيا امكانش هست كه هر نوع عكسي را كاربر انتخاب كند؟
> (از نظر فرمت و تصاوير واقعي و...)
> اين عكس ها را چگونه در بانكتان ذخيره كرده ايد؟


من تو صفحه اول پردازش تصویر رو توضیح دادم




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

----------


## shask00l

خوب /....  خدا رو شکر فرصتی پیش اومد تا باز هم بتونم بنویسم .

توی پست قبلیم گفته بودم که روی این مسئله خیلی فکر کردم ولی افکارم رو نتونستم اجرا کنم . کاری که میخواستم انجام بدم این بود که برنامه 1 صفحه اسکن شده بگیره (داخل این صفحه تعداد نا معلومی عکسهای 3*4 هست) و هر عکسی رو که پیدا میکنه جدا کنه و بریزه توی یه picturebox . البته کار با عکس مشکلات زیادی داره از جمله اینکه تعداد رنگهای استفاده شده نامعلومه . لبه ها کاملا منظم نیستند . ممکنه رنگ پس زمینه عکس با پس زمینه صفحه یکی باشه و ... ترجیح میدم زیاد به مسائل این مدلی گیر ندم و فقط روشهایی که به این تاپیک مربوط میشه رو توضیح بدم .

روشی که من برای پیدا کردن مربع ها طراحی کردم تا حدودی مثل روش شماست . یعنی پیکسل به پیکسل تصویر رو بررسی میکنه .البته باید 1 رنگ خنثی هم براش تعریف کنیم . بعدا توضیح میدم که این رنگ به چه دردی میخوره. وقتی به مخالف رنگ پس زمینه رسید از الگوریتم floodFill برای پیدا کردن تمام پیکسل های اون محدوده استفاده میکنه . با استفاده از این روش شما میتونید شکل های نامنظم رو هم از تصویر اصلی جدا کنید چه برسه به شکل های منظم . این الگوریتم دقیقا کاری رو میکنه که سطل رنگ توی painbrush انجام میده . با این تفاوت که تمام پیکسلهای اون محدوده رو میخونه و میریزه توی یه picture box دیگه .این الگوریتم از روش بازگشتی استفاده میکنه. اگه خواستید بگید تا بیشتر در مورد این الگوریتم توضیح بدم .
بعد از اینکه کارمون با شکل پیدا شده تموم شد اونو به رنگ خنثی که قبلا تعربف کردیم در میاریم و موقع چک کردن پیکسل های بعدی چک میکنیم که رنگ اونها خنثی نباشه در غیر این صورت اون پیکسلها رو نادیده میگیریم . 

برای جدا کردن شکلهای پیدا شده هم 1 راهی پیدا کردم . میتونیم 1 آرایه از کلاس picturebox بسازیم (دقیقا با سایز picturebox اصلی) و وقتی آبجکتی رو توی تصویر اصلی پیدا کردیم به ترتیب به اولین picturebox خالی توی آرایه انتقال بدیم. بعد از اینکه کارمون با تصویر اصلی تموم شد میتونیم دونه دونه این تصاویر رو از توی picturebox های مربوطه clip کنیم . در آوردن 1 تصویر از توی یک picturebox نسبت به در آوردن چنتا تصویر از توی یک picturebox کار زیاد پیچیده ای نیست .

.... زیاد فک زدم . اگه نظری داشتید در مورد این نوشته همین جا پست کنید.

----------


## sokote_bi_payan

Shask001 سلام خوش آمدید

مطلبت جالب بود اگه دوست داشتی خوشحال میشم الگوریتم تو ببینیم

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

حالا از دوستانی که تو این زمینه کار کردن می خواستم بپرسم

حالا اگه من بتونم لبه ها رو متوجه بشم از کجا یه شکل هندسی و بتونم متوجه بشم ؟

فکر کنم باید دنبال فرمولی چیزی باشم درسته ؟

----------


## sokote_bi_payan

با اینکه این تاپیک اصلا دیگه ارزش نداره آدم روش کار کنه (به دلیل نظرات و توجهات کم) ولی می خوام مبحث Open Cv رو شروع کنم

----------


## sokote_bi_payan

قبل از اینکه بحث و شروع کنم این فایل و می ذارم تا بدونیم چی جوری میشه از لایبری CV استفاده کرد. چون آدم ( من که خودم اینجوریم شما رو نمی دونم) تا به صورت عملی کار نکنه هر چی واسش صحبت کنن همون صحبت می مونه و زیاد فایده ای نداره

----------


## sokote_bi_payan

تویه سایت Www.HAmedHabibi.Com یه مطلب برای پیدا کردن لبه ها پیدا کردم گفتم اینجا بذارم تا دوستان استفاده نمایند.

پیدا کردن لبه :

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


برای محاسبه مشتق مرتبه اول فیلترهای بالاگذر مختلفی طراحی شده اند که در این میان ، فیلترهای  Prewitt ، Sobel و Frei-Chen از اهمیت بالاتری برخوردار هستند. هریک از فیلترهای یاد شده از دو ماسک مختلف تشکیل یافته اند که یکی از ماسک ها مشتق در جهت x و ماسک دیگر مشتق در جهت y را در هر نقطه از تصویر محاسبه می کنند. نکته قابل توجه اینکه ماسک مشتق گیری در جهت x ، ترانهاده ماسک مشتق گیری در جهت y و بالعکس می باشد. 

توجه :

نحوه اعمال فیلترها بر روی تصویر در بخش پردازش در حوزه مکانی شرح داده شده است.

محاسبه گرادیان :

با فرض اینکه  در نقطه (a,b) ، Gx مشتق در جهت x و Gy مشتق در جهت y را نشان دهند ، گرادیان تصویر در نقطه (a,b) از رابطه زیر به دست می آید :

 یا  

در صورتی که رابطه زیر برقرار باشد ، گوییم نقطه (a,b) یک لبه است :



که در آن T یک مقدار آستانه است. حال به بررسی هریک از فیلترها می پردازیم.

----------


## sokote_bi_payan

فیلتر Roberts :

مقادیر فیلتر Roberts در جهت x و y در شکل زیر نشان داده شده است:



فیلتر Prewitt :

مقادیر فیلتر Prewitt در جهت x و y در شکل زیر نشان داده شده است:



فیلتر Sobel :

مقادیر فیلتر Soble در جهت x و y در شکل زیر نشان داده شده است:



 فیلتر Frei-chen :
مقادیر فیلتر Frei-chen در جهت x و y در شکل زیر نشان داده شده است:



  فیلتر Kirstch :
مقادیر فیلتر Kirstch در جهت x و y در شکل زیر نشان داده شده است:

----------


## apachi2007

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

----------


## shytonak

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

----------


## sokote_bi_payan

بله دوست عزیز میشه اینکارو کرد . تو بحث شناسایی ارقام ( یا نوشته ) اول از هم باید برچسب گذاری کرد بدین صورت که با استفاده از پیدا کردن لبه ها هر قسمت را نام گذاری کنیدو...

----------


## sokote_bi_payan

باز این مطلب تو سایت Www.HamedHabibi.com پیدا کردم

برچسب زنی اجزای متصل

یکی از مهمترین مراحل در بخش بندی تصویر جداسازی اشیاء مختلف برروی تصویر به صورت تصاویر مجزا از هریک است. به عنوان مثال تصویر زیر شامل  16 شی مجزا است که هریک از این اشیا را یک جز متصل می گوییم. 


روش های مختلفی برای این منظور وجود دارد، در این مقاله ما به بررسی سه روش زیر خواهیم پرداخت :

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

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

توجه:

در همه روش های فوق برچسب زنی اجزای متصل را بر روی تصویر دو سطحی انجام می دهیم. همچنین در همه این روش ها تصویر را از بالا به پایین و از چپ به راست پیمایش می کنیم.


برچسب زنی اجزای متصل به روش تکراری

برچسب زنی به روش تکراری یک روش دو مرحله ای است که در مرحله اول با پیمایش تصویر از بالا به پایین و از چپ به راست به هر پیکسل شی ای، بر اساس شرایط زیر برچسبی را انتساب می دهیم:

1.      در همسایگی 4 گانه پیکسل p(i,j) ، اگر پیکسل بالایی p(i-1,j) و پیکسل سمت چپی p(i,j-1) دارای برچسب X باشند، پیکسل p(i,j) نیز برچسب X خواهد داشت

2.        در همسایگی 4 گانه پیکسل p(i,j) ، اگر پیکسل بالایی p(i-1,j) یا پیکسل سمت چپی p(i,j-1) دارای برچسب X باشند، پیکسل p(i,j) نیز برچسب X خواهد داشت

3.        در همسایگی 4 گانه پیکسل p(i,j) ، اگر پیکسل بالایی p(i-1,j) برچسب X و پیکسل سمت چپی p(i,j-1) دارای برچسب Y باشند ( X و Y باهم برابر نیستند)، برچسب پیکسل p(i,j) را برابر X قرار داده و در جدول معادل ها X و Y را وارد می کنیم

4.        در همسایگی 4 گانه پیکسل p(i,j) ، اگر پیکسل بالایی p(i-1,j) و پیکسل سمت چپی p(i,j-1) هیچیک دارای برچسب نباشند ، به پیکسل p(i,j) برچسب جدیدی برابر Z قرار می دهیم.


هنگام انتساب برچسب به پیکسل ها معمولا از مقادیر عددی استفاده می کنیم. جدول معادل ها نیز شامل همه برچسب های معادل هم خواهد بود. در مرحله دوم برچسب های معادل با هم ادغام شده  و برچسب منحصربفردی را برای هریک از اشیا تولید می کند. اگر X و Y دو برچسب معادل از جدول معادل ها باشند، زمانی که X<Y باشد همه برچسب های Y را برابر X قرار می دهیم و در نتیجه به هریک از اجزای متصل برچسب منحصربفردی منتسب می شود.


برچسب زنی اجزای متصل به روش بازگشتی

در برچسب زنی به روش بازگشتی همگام با پیمایش تصویر از بالا به پایین و از چپ به راست ، با رسیدن به یک پیکسل شی ای، با استفاده از یک الگوریتم بازگشتی هریک از همسایه های  8-گانه این پیکسل که نشان دهنده یک پیکسل شی ای باشند را تا رسیدن به یک پیکسل زمینه به طور جداگانه پیمایش می کنیم.

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


و..

----------


## sokote_bi_payan

پردازش تصویر در MATLAB

برچسب زنی اجزای متصل در MATLAB با استفاده از تابع bwlabel انجام می پذیرد

----------


## sokote_bi_payan

البته یه چیز دیگه به ذهنم رسید اونم این که میشه با استفاده از اسکلت بندی ( که بعدا در همین تاپیک میذارم) خیلی راحت تر عدد مورد نظرتون و حدس بزنید.

با این روش به نظرم اگه فونت های مختلفی هم باشه دیگه فرقی نمی کنه

----------


## sokote_bi_payan

کتاب پردازش تصویر گونزالز که بسیار عالیه.

این ترجمه چند فصلشه

http://rapidshare.com/files/15511877...NMEET.COM_.rar

----------


## sokote_bi_payan

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



اینم استخراج اسکلت بندی اشیاء که از سایت حامد حبیبی . کام  برداشتم


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

·          به اندازه کافی باریک باشد

·          متصل باشد : یعنی فرآیند اسکلت بندی نباید باعث تکه تکه شدن اسکلت الگو شود

زمانی که این دو شرط برقرار شد، الگوریتم اسکلت بندی متوقف می شود. شکل زیر تصویری را به همراه اسکلت آن نشان می دهد :



در حالت کلی الگوریتم های استخراج اسکلت الگو بر پایه دو استراتژی مختلف هستند. در استراتزی اول از همه پیکسل های تصویر و در استراتژی دوم از پیکسل های کانتور تصویر برای این منظور استفاده می شود. روشی که ما در اینجا بررسی خواهیم کرد روش مبتنی بر پیکسل های تصویر بوده و به نام Hilditch معروف است که بر روی تصاویر دو سطحی ( باینری ) اعمال می کنیم. 



تعاریف اولیه :

همسایه های هشتگانه پیسکل P1 را در نظر بگیرید :

هدف ما این است که در مورد حذف پیکسل P1 یا ماندن آن به عنوان یک پیکسل بر روی اسکلت تصمیم بگیریم. برای این منظور همسایه های هشتگانه آن را در جهت عقربه های ساعت مرتب کرده و دو تابع زیر را برای آن ها تعریف می کنیم :

·          تابع B(P1) : تعداد همسایه های غیرصفر P1 را برمی گرداند. 

·          تابع A(P1) : تعداد الگوهای 1،0 در لیست P2,P3,P4,P5,P6,P7,P8,P9,P2 را بر می گرداند. الگوی 0,1 بدین معنی است که با در نظر گرفتن دو همسایه پشت سرهم مثل P6 و P7، مقدار P6 صفر بوده و P7 مقدار 1 داشته باشد. به عنوان مثال :

الگوریتم اسکلت بندی :

الگوریتم Hilditch از یک پنجره 3*3 استفاده کرده و تازمانی تغییری در تصویر به وجود آید، به طور مداوم همه پیکسل های تصویر را بررسی می کند و به ازای هر پیکسل در صورتی که چهار شرط زیر برقرار شود، پیکسل جاری از تصویر حذف می گردد : 



شبه کد زیر نحوه اعمال این الگوریتم را نشان می دهد : 

1.        تازمانی که تغییر دیگری حاصل نشود : 

a.        کل تصویر پیمایش شده و پیکسل هایی که هر چهار شرط فوق برای آنها صادق باشد کاندیدای حذف شدن می شوند. 

b.       پیکسل های کاندیدای حذف شدن ، از تصویر حذف می شوند 



شرط اول :

شرط بزرگتر یا مساوی بودن B(P1) از 2 مطمئن می سازد که هیچک از نقاط انتهایی و نقاط منحصر تصویر حذف نخواهند شد. هر نقطه ای که تنها یک پیکسل شی ای در همسایگی هشتگانه خود داشته باشد را نقطه انتهایی یا نقطه T گویند. شرط کوچکتر یا مساوی بودن B(P1) از 6 نیز تضمین می کند که P1 یک پیکسل محیطی است :


همانطور که از شکل پیداست ، اگر B(P1)= 1 باشد در اینصورت P1 یک پیکسل از نوع T است و نباید حذف شود. همچنین اگر B(P1)= 0 باشد ، P1 یک پیکسل تک نقطه بر روی تصویر است و نباید حذف شود. توجه کنید که حذف پیکسل های تک نقطه ای برعهده الگوریتم های حذف نویز می باشد. همچنین اگر B(P1)= 7 باشد ، شکی نیست که P1 بر روی محیط الگو می باشد، بنابراین نباید حذف شود.



شرط A(P1) = 1 :

شرط متصل بودن اسکلت را بررسی می کند. به عنوان مثال در همه تصاویر زیر A(P1)> 1 است. در هر کدام از تصاویر زیر بخواهیم P1 را حذف کنید، اسکلت استخراج شده غیرمتصل خواهد شد:


شرط P2.P4.P8 = 0  یا  A(P2) <> 1:

این شرط تضمین می کند که خطوط عمودی با پهنای 2 پیکسل به طور کامل توسط الگوریتم ساییده نخواهند شد :


شرط P2.P4.P6=0  یا  A(P4) <> 1:

این شرط تضمین می کند که خطوط افقی با پهنای 2 پیکسل به طور کامل توسط الگوریتم ساییده نمی شود


نتیجه گیری

الگوریتم Hilditch الگوریتم کاملی نمی باشد چرا که بر روی برخی از انواع الگوها به درستی عمل نمی کند. به عنوان مثال الگوریتم Hilditch باعث ساییده شدن کامل الگوهای زیر می شود :


در زیر اسکلت استخراج شده برای تعدادی تصویر با استفاده از الگوریتم Hilditch نشان داده شده است :

----------


## sokote_bi_payan

مثه اینکه هیچکی نمی خواد تو بحث شرکت کنه

----------


## razavi_university

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

----------


## sokote_bi_payan

منم خودم هیچی از پردازش تصویر البته نمی دونم.

ولی دوست دارم این بحث و.

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

----------


## sokote_bi_payan

می خواستم ریفرنس Open Cv  رو قرار بدم همچنین خود لایبریشو اما سایت اجازه نمی ده یعنی حجم فایل هام زیاد تره باید برم یه سایت دیگه آپلود کنم  :خیلی عصبانی:

----------


## sokote_bi_payan

Grayscale کردن تصویر


تصویر RGB و Grayscale :

یک تصویر RGB متشکل از سه تصویر است که هریک از آنها مقادیر Red ( قرمز ) ، Green ( سبز ) ، Blue ( آبی ) تصویر رنگی را نگه می دارند. تصویر حاصل نیز از ترکیب مقادیر درآیه های متناظر در سه ماتریس بوجود می آید.

F( x1,y1 ) = R( x1,y1 ) + G( x1,y1 ) + B( x1,y1 )


برای Grayscale کردن تصویر از فرمول زیر استفاده می کنیم :


S( x1,y1 ) = (R( x1,y1 ) + G( x1,y1 ) + B( x1,y1 ) ) / 3


شبه کد زیر نحوه الگوریتم Grayscale کردن تصویر RGB با سایز M * N را نشان می دهد :



Procedure Grayscale( output , input As Bitmap ) 
Begin

For  I = 1 to M Do

                                For J = 1 To N Do

                                                Temp = ( input.R( I,J ) + input.G( I,J ) + input.B( I,J ) ) / 3

                                                Output.R ( I,J ) = Temp

                                                Output.G ( I,J ) = Temp

                                                Output.B ( I,J ) = Temp

                                End For

End For

End


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

شکل زیر نیز تصویر حاصل از اجرای الگوریتم Grayscale را نشان می دهد :


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

برگرفته شده از سایت www.HamedHabibi.com

----------


## sokote_bi_payan

حالا می خوام یه خورده تو زمینه مکان یابی و نقشه برداری صحبت کنم ( البته من که خودم اینکاره نیستم اما مقالاتی که خوندم و پیدا کردم و ان شاءالله می خوام بذارم)

----------


## sokote_bi_payan

دو الگوریتم معروف تو این زمینه وجود داره(مکان یابی و نقشه برداری) یکی الگوریتم کالمن و دیگری پارتیکل که هر کدوم به یه صورتی شروع به این عملیات می کنند( البته الگوریتم های دیگه ای هم تو این زمینه وجود داره)

این مقاله طریقه نقشه برداری به صورت همزمان توسط چند ربات را توضیح می ده.

(جا داره اینجا یه انتقاد از سایت برنامه نویس بکنم اونم اینکه بخوایم فایلی رو قرار بدیم خیلی محدودیت داره. چه از نظر حجم چه از نظر نوع فایل)

به همین دلیل مجبور شدم برم یه سایت دیگه آپلود کنم.

اینم لینکش :

http://www.2shared.com/file/4400900/4be762ad/i607.html

----------


## sokote_bi_payan

اینم نحوه پیاده سازی الگوریتم Particle Filtering

----------


## farzadho

Ø³ÙØ§Ù
Ø¨Ø­Ø« Ø¨Ø³ÛØ§Ø± Ø¬Ø§ÙØ¨Û ÙØ³Øª
  Ø¯ÙØ±Ù Ø¯Ø¨ÛØ±Ø³ØªØ§Ù ÙØ³Ø§Ø¨ÙØ§Øª Ø±ÙØ¨Ø§ØªÛÚ© Ø³ÙØ§ÙØ´ ÙÙÛÙ Ø¨ÙØ¯ ÙÙ Ø®ÛÙÛ Ú©Ø§Ø± Ú©Ø±Ø¯Ù ÙÙÛ Ø¨Ø§Ø²Ù Ø¨Ø±ÙØ§ÙÙ ÙØ´Ú©Ù Ø¯Ø§Ø´Øª
Ø¨Ø±ÙØ§ÙÙ Ø¨Ø§ÛØ¯ Ø§Ø´Ú©Ø§Ù ÙÙØ¯Ø³Û ÙØ±Ø¨Ø¹ ÙØ«ÙØ« Ø¯Ø§ÛØ±Ù ÙØ³ØªØ·ÛÙ Ø±Ù ØªØ´Ø®ÛØµ ÙÛØ¯Ø§Ø¯ Ø§ÙØ¨ØªÙ ØªØ¹Ø¯Ø§Ø¯ ÙÙ ÙÙÙ Ø¨ÙØ¯...
ØªØ´Ø®ÛØµ Ø§Ø¹Ø¯Ø§Ø¯ ÙÙ Ø¨ÙØ¯...
Ø¯Ø± Ú©Ù Ù¾Ø±Ø¯Ø§Ø²Ø´ ØªØµÙÛØ± ÛÙ Ø¨Ø­Ø« Ø¨Ø³ÛØ§Ø± Ø³ÙÚ¯ÛÙÛÙ ...
Ú©ØªØ§Ø¨ Ú¯ÙØ²Ø§ÙØ³ Ø¨ÙØªØ±ÛÙ ÙÙØ¨Ø¹...

----------


## sokote_bi_payan

> Ø¯Ø± Ú©Ù Ù¾Ø±Ø¯Ø§Ø²Ø´ ØªØµÙÛØ± ÛÙ Ø¨Ø­Ø« Ø¨Ø³ÛØ§Ø± Ø³ÙÚ¯ÛÙÛÙ ...
> Ú©ØªØ§Ø¨ Ú¯ÙØ²Ø§ÙØ³ Ø¨ÙØªØ±ÛÙ ÙÙØ¨Ø¹...


Ø¨ÙÙ ÙÙÙÙ ÙØªØ§Ø¨ Ù ØªÙ ÙÙÙÙ ØªØ§Ù¾ÙÙ Ú¯Ø°Ø§Ø´ØªÙ Ø¯ÙØ³ØªØ§Ù ÙÙ ØªÙÙÙØ¯ Ø§Ø³ØªÙØ§Ø¯Ù ÙÙÙØ¯

----------


## sokote_bi_payan

ÙØ®ÛØ± ÙØ«Ù Ø§ÛÙÚ©Ù ØªØ§ Ø¢Ø®Ø± Ø¨Ø§ÛØ¯ Ø®ÙØ¯Ù Ø§ÛÙ Ø¨Ø­Ø« Ù Ø§Ø¯Ø§ÙÙ Ø¨Ø¯Ù. Ø§ÛÙ Ú©Ù Ú©Ø§Ø± ÙØ´Ø¯

----------


## Amir Oveisi

ÙÙÙÙÙ Ø¨Ù Ø®Ø§Ø·Ø± ÙØ·Ø§ÙØ¨ ÙÙÛØ¯Û Ú©Ù Ú¯Ø°Ø§Ø´ØªÛÙ
Ø§Ù Ø´Ø§Ø§... Ø¨Ø²ÙØ¯Û ÙÙÙ ÛÙ Ø³Ø±Û ÙØ·Ø§ÙØ¨ Ø¯Ø± Ø§ÛÙ ÙÙØ§Ø±Ø¯ ÙÛØ²Ø§Ø±Ù

ÙÙÙÙ Ø¨Ø§Ø´ÛØ¯
jooje

----------


## Amir Oveisi

Ø¯Ø± ÙÙØ±Ø¯ OpenCV :
http://www.codeproject.com/KB/cs/Int...V.aspx#install

----------


## sokote_bi_payan

Ø³ÙØ§Ù Ø¢ÙØ§Û Ø¨Ø±ÙÙØ¯Ø§ Ø¨Û ØµØ¨Ø±Ø§ÙÙ ÙÙØªØ¸Ø± Ù¾Ø³Øª ÙØ§Û Ø¯ÛÚ¯Ù ØªÙÙÙ .
Ø¯Ø³Ø³ØªÙÙ Ø¯Ø±Ø¯ ÙÚ©ÙÙ

ÙÙÙÙ Ø¨Ø§Ø´ÛØ¯
ÛØ§ Ø¹ÙÛ

----------


## Amir Oveisi

Ø¨Ø±Ø§Û Ø§Ø³ØªÙØ§Ø¯Ù Ø§Ø² OpenVC ØªØ­Øª NET. Ø¨Ù ÙÛÙÚ© Ù¾Ø³Øª ÙØ¨ÙÛÙ ÙØ±Ø§Ø¬Ø¹Ù Ú©ÙÛØ¯. ÚÙØ¯ ØªØ§ ÙØ§ÛÙ dll ÙØ³Øª Ú©Ù Ø¨Ø§ÛØ¯ Ø¯Ø§ÙÙÙØ¯ Ú©ÙÛØ¯ Ù ØªÙ ÙÙÙØ¯Ø± Ø®Ø±ÙØ¬Û Ø¨Ø±ÙØ§ÙØªÙÙ Ú©Ù¾Û Ú©ÙÛØ¯ Ù Ø¨Ù reference ÙØ§Û Ø¨Ø±ÙØ§ÙØªÙÙ Ø§Ø¶Ø§ÙÙ Ú©ÙÛØ¯.

ÛÙ ÙÙÙÙÙ Ú©Ø¯ ØªÙØ±ÛØ¨Ø§ Ú©Ø§ÙÙ Ø¨Ø±Ø§Û Ø´ÙØ§Ø³Ø§ÛÛ ÙØ³ØªØ·ÛÙ Ù ÙØ±Ø¨Ø¹ ØªÙ Ø¹Ú©Ø³ Ù Ú©Ø´ÛØ¯Ù Ø®Ø· Ø¯ÙØ± Ø§ÙÙØ§.
Ø¨Ø±Ø§Û ÙÙÙ Ø­Ø§ÙØ§Øª Ø¯ÙØ±Ø§Ù ÛØ§ÙØªÙ Ù ... Ø¬ÙØ§Ø¨ ÙÛØ¯Ù.

ÙÛÙÚ© Ø¯Ø§ÙÙÙØ¯ Ø³ÙØ±Ø³ Ø¨Ø±ÙØ§ÙÙ 

ØªÙØ¶ÛØ­Ø§Øª ÙØ±Ø¨ÙØ· Ø¨Ù Ú©Ø¯ ÙØ§ Ø±Ù ÙÙ Ø§Ú¯Ø± ÙÙØª Ú©Ø±Ø¯Ù ÙÛØ°Ø§Ø±Ù Ø§ÛÙØ¬Ø§ Ù Ø§ÙÚ¯ÙØ±ÛØªÙØ´Ù

Ø¯Ø± Ø¢ÛÙØ¯Ù Ø¯Ø± ÙÙØ±Ø¯ Face Detection ÙÙ Ø¨Ø­Ø« ÙÛÚ©ÙÛÙ Ø§Ù Ø´Ø§Ø§...

Ø¯Ø± Ø¶ÙÙ Ø¨Ù Ú©ØªØ§Ø¨ Ú©Ø§ÙÙ Ø¯Ø± ÙØ±ÙØ¯ Ø¢ÙÙØ²Ø´ OpenVC ÙÙ Ø¯Ø³ØªÙ ÙØ³Øª Ú©Ù pdf ÙØ³ØªØ´ Ù Ø¨Ø²ÙØ¯Û upload ÙÛÚ©ÙÙ Ù ÙÛÙÚ©Ø´ Ø±Ù Ø§ÛÙØ¬Ø§ ÙÛØ°Ø§Ø±Ù.

ÙÙÙÙ Ø¨Ø§Ø´ÛØ¯
jooje

----------


## sokote_bi_payan

ÙÛÙÚ©Øª Ø§ÙÚ¯Ø§Ø± Ø®Ø±Ø§Ø¨Ù

----------


## sokote_bi_payan

Ø§ÛÙÙ Ø±ÙØ±ÙØ³ Open Cv 

http://www.4shared.com/file/76950767...ncemanual.html

```
http://www.4shared.com/file/76950767/1a71444e/OpenCVreferencemanual.html
```

----------


## Amir Oveisi

ÙÛÙÚ© Ø¯Ø±Ø³ØªÙ ÙÙ Ø§ÙØ§Ù Ø¯ÙØ¨Ø§Ø±Ù ØªØ³Øª Ú©Ø±Ø¯Ù

----------


## afrashteh1

Ø¯ÙØ³ØªØ§Ù ÙÙ ÙÙ Ø¨Ø±ÙØ§ÙÙ ÙÙØ´ØªÙ ÙÙ ØªØµÙÙØ± Ø±Ø§ Ø³ÙØ§Ù Ù Ø³ÙÙØ¯ ÙÙÙÙÙ (ÙÚ¯Ø§ØªÙÙ) ÙÙÙ Ø­Ø§ÙØ§ ÙÙ Ø®ÙØ§Ù ÙÙ Ø·ÙÙ Ø±ÙÚ¯Ù Ø±Ø§ Ø¯Ø±ÙØ§ÙØª ÙÙÙ Ù ÙÙØ· Ø§ÙÙ Ø·ÙÙ Ø±Ø§ ØªØºÙÙØ± Ø±ÙÚ¯ Ø¨Ø¯Ù (ÙØ«ÙØ§ Ø³ÙØ§Ù Ù Ø³ÙÙØ¯)

----------


## mjelecom

Ø¯ÙØ³ØªØ§Ù Ø¹Ø²ÛØ² Ø³ÙØ§Ù :ÙØ¨Ø®ÙØ¯ Ú¯Ø´Ø§Ø¯Ù!: 
Ø§Ú¯Ø± ÙØ§ÙØ¹Ø§ Ø¯ÙØ¨Ø§Ù Ù¾Ø±Ø¯Ø§Ø²Ø´ ØªØµÙÛØ± ÙØ³ØªÛØ¯ Ø§ÙÙØ§ Ø¨Ø§ÛØ¯ ÙØ±Ù Ø§ÙØ²Ø§Ø± Matlab Ø±Ù Ø®ÙØ¨ Ø¨Ø¯ÙÙÛØ¯. 
Ø­Ø§ÙØ§ ÙÛÚ¯Ù ÚØ±Ø§! :ÙØªÙÚ©Ø±: 
1- Ø§ÛÙ ÙØ±Ù Ø§ÙØ²Ø§Ø± Ø±Ù Ø§Ø®ØªØµØ§ØµØ§ Ø¨Ø±Ø§Û ÙØ­Ø§Ø³Ø¨Ø§Øª Ø±ÛØ§Ø¶Û Ø³Ø§Ø®ØªÙ.
2- ÙØ¨ÙØ§ ÛÙ Ø³Ø±Û Ù¾Ø±ÙÙØ³ÙØ± Ø§ÙÚ¯ÙØ±ÛØªÙØ§Ø´Ù Ø¨ÙÛÙÙ Ú©Ø±Ø¯Ù. (Ø¯Ø± ÙÙØ±Ø¯ Ù¾Ø±ÙÙØ³ÙØ±ÙØ§Ø´ Ø¨Ù HelpØ§Ø´ Ø¨Ø±ÛØ¯.)
3- ØªÙØ§ÙÛ Ø±ÙØªÛÙÙØ§Û ÙØ±Ø¨ÙØ· Ø§Ø² ÙØ¨Ù ÙØ¬ÙØ¯ Ø¯Ø§Ø±Ù.
4- ..................
Ù¾Ø³ ÙÙØ· Ú©Ø§ÙÛÙ Ú©Ù Ø´ÙØ§ Ø§ÙÚ¯ÙØ±ÛØªÙ ÙÙÛØ³ Ø¨Ø§Ø´ÛØ¯. ÙÙÛÙ. ÙÙØªÛ Ø§ÙÚ¯ÙØ±ÛØªÙØª ØªÙ ÙØªÙØ¨ ÙÙØ´ØªÙ Ø´Ø¯
Ù Ø§Ø²Ø´ Ø¬ÙØ§Ø¨ Ú¯Ø±ÙØªÛØ Ø­Ø§ÙØ§ ÙØªÙØ¨ Ø§ÛÙ Ø§Ø®ØªÛØ§Ø± Ø±Ù Ø¨Ù Ø´ÙØ§ ÙÛØ¯Ù Ú©Ù ÛØ§ ÙØ§Ø³Ø· Ú¯Ø±Ø§ÙÛÚ©ÛØªÙÙ Ø±Ù ØªÙ ÙØªÙØ¨ Ø¨Ø³Ø§Ø²ÛØ¯ (Ú©Ù Ø®ÙØ¨ Ø®ÛÙÛ Ø¶Ø¹ÛÙÙ) ÛØ§ Ø§ÛÙÚ©Ù Ø§ÙÚ¯ÙØ±ÛØªÙØªÙÙ Ø±Ù Ø¨Ú©ÙÛØ¯ ÛÙ DLL Ù ÙØ±Ø¬Ø§ Ú©Ù Ø®ÙØ§Ø³ØªÛØ¯ Ø¨Ø¨Ø±ÛØ¯.
Ø¨Ù ÙØ¸Ø±ØªÙÙ Ø§ÛÙ Ø±ÙØ´ Ø³Ø§Ø¯Ù ØªØ± Ø§Ø² Ø§Ø®ØªØ±Ø§Ø¹ ÚØ±Ø® ÙÛØ³ØªØ
-----------------------------------------------------------------------------------------
Ø±Ø§Ø³ØªÛ Ø¯Ø± ÙÙØ±Ø¯ ØªØ´Ø®ÛØµ ÛÚ© Ø¹Ø¯Ø¯Ø ØªÙØµÛÙ ÙÙ Ø§ÛÙÙ Ú©Ù Ø§Ø² Ø´Ø¨Ú©Ù Ø¹ØµØ¨Û Ø¨ÙØ±Ù Ø¨Ø¨Ø±ÛØ¯. Ø§ÙØ¨ØªÙ Ø±ÙØ´ÙØ§Û ÙÙØ§ÛØ³Ù Ø§Û Ø¯ÛÚ¯Ù Ø§Û ÙÙ ÙØ¬ÙØ¯ Ø¯Ø§Ø±Ù Ú©Ù Ø¬ÙØ§Ø¨ ÙÛØ¯Ù. Ø§ÙØ§ ØªÙ ÙØ­ÛØ·Ø§Û ÙÙÛØ²Û Ø§ØµÙØ§
Ú©Ø§Ø±Ø§ÛÛ ÙØ¯Ø§Ø±Ù.

Ø§ÙØ¨ØªÙ Ø´Ø±ÙÙØ¯Ù Ú©Ù Ù¾Ø§ Ø¨Ø±ÙÙÙ Ù¾Ø±ÛØ¯Ù ÙØ³Ø· ØµØ­Ø¨ØªÙØ§ØªÙÙ. :ÚØ´ÙÚ©:

----------


## afrashteh1

Ø¯ÙØ³ØªØ§Ù Ø®ÙØ§ÙØ´ ÙÙ ÙÙÙ Ø±Ø§ÙÙÙØ§ÙÙ ÙÙÙØ¯

----------


## Amir Oveisi

> Ø¯ÙØ³ØªØ§Ù Ø¹Ø²ÛØ² Ø³ÙØ§Ù
> Ø§Ú¯Ø± ÙØ§ÙØ¹Ø§ Ø¯ÙØ¨Ø§Ù Ù¾Ø±Ø¯Ø§Ø²Ø´ ØªØµÙÛØ± ÙØ³ØªÛØ¯ Ø§ÙÙØ§ Ø¨Ø§ÛØ¯ ÙØ±Ù Ø§ÙØ²Ø§Ø± Matlab Ø±Ù Ø®ÙØ¨ Ø¨Ø¯ÙÙÛØ¯.
> Ø­Ø§ÙØ§ ÙÛÚ¯Ù ÚØ±Ø§!
> 1- Ø§ÛÙ ÙØ±Ù Ø§ÙØ²Ø§Ø± Ø±Ù Ø§Ø®ØªØµØ§ØµØ§ Ø¨Ø±Ø§Û ÙØ­Ø§Ø³Ø¨Ø§Øª Ø±ÛØ§Ø¶Û Ø³Ø§Ø®ØªÙ.
> 2- ÙØ¨ÙØ§ ÛÙ Ø³Ø±Û Ù¾Ø±ÙÙØ³ÙØ± Ø§ÙÚ¯ÙØ±ÛØªÙØ§Ø´Ù Ø¨ÙÛÙÙ Ú©Ø±Ø¯Ù. (Ø¯Ø± ÙÙØ±Ø¯ Ù¾Ø±ÙÙØ³ÙØ±ÙØ§Ø´ Ø¨Ù HelpØ§Ø´ Ø¨Ø±ÛØ¯.)
> 3- ØªÙØ§ÙÛ Ø±ÙØªÛÙÙØ§Û ÙØ±Ø¨ÙØ· Ø§Ø² ÙØ¨Ù ÙØ¬ÙØ¯ Ø¯Ø§Ø±Ù.
> 4- ..................
> Ù¾Ø³ ÙÙØ· Ú©Ø§ÙÛÙ Ú©Ù Ø´ÙØ§ Ø§ÙÚ¯ÙØ±ÛØªÙ ÙÙÛØ³ Ø¨Ø§Ø´ÛØ¯. ÙÙÛÙ. ÙÙØªÛ Ø§ÙÚ¯ÙØ±ÛØªÙØª ØªÙ ÙØªÙØ¨ ÙÙØ´ØªÙ Ø´Ø¯
> Ù Ø§Ø²Ø´ Ø¬ÙØ§Ø¨ Ú¯Ø±ÙØªÛØ Ø­Ø§ÙØ§ ÙØªÙØ¨ Ø§ÛÙ Ø§Ø®ØªÛØ§Ø± Ø±Ù Ø¨Ù Ø´ÙØ§ ÙÛØ¯Ù Ú©Ù ÛØ§ ÙØ§Ø³Ø· Ú¯Ø±Ø§ÙÛÚ©ÛØªÙÙ Ø±Ù ØªÙ ÙØªÙØ¨ Ø¨Ø³Ø§Ø²ÛØ¯ (Ú©Ù Ø®ÙØ¨ Ø®ÛÙÛ Ø¶Ø¹ÛÙÙ) ÛØ§ Ø§ÛÙÚ©Ù Ø§ÙÚ¯ÙØ±ÛØªÙØªÙÙ Ø±Ù Ø¨Ú©ÙÛØ¯ ÛÙ DLL Ù ÙØ±Ø¬Ø§ Ú©Ù Ø®ÙØ§Ø³ØªÛØ¯ Ø¨Ø¨Ø±ÛØ¯.
> Ø¨Ù ÙØ¸Ø±ØªÙÙ Ø§ÛÙ Ø±ÙØ´ Ø³Ø§Ø¯Ù ØªØ± Ø§Ø² Ø§Ø®ØªØ±Ø§Ø¹ ÚØ±Ø® ÙÛØ³ØªØ


1- Ø®ÛÙÛ ÙØ§ ÙØ¯ÙØ´ÙÙ Ø§Ø² Ù¾Ø±Ø¯Ø§Ø²Ø´ ØªØµÙÛØ± Ø§ÙØ¬Ø§Ù ÛÚ© Ù¾Ø±ÙÚÙ Ø¢ÙÙØ²Ø´Û ÙØ³Øª ÙÙ ØªØ¬Ø§Ø±Û Ø¨Ù ÙÙÛÙ Ø¯ÙÛÙ Ø¨Ø±Ø§Û Ø§ÛÙÚ©Ù Ø¨Ø¯ÙÙÙ ÚØ±Ø® ÚØ¬ÙØ±Û Ø±Ø§Ù ÙÛØ±Ù Ù Ø§ÛÙÙ ÙØ´ÙÚ¯ ÙØªÙØ¬Ù Ø¨Ø´Ù ÙÛØ®ÙØ§Ø¯ Ø®ÙØ¯Ø´ ÛÙ ÚØ±Ø® Ø§Ø®ØªØ±Ø§Ø¹ Ú©ÙÙ ÙØ± ÚÙØ¯ Ú©Ù ÙÙÚ©ÙÙ ÚØ±Ø®Ø´ ÙØ±Ø¨Ø¹Û Ø¯Ø± Ø¨ÛØ§Ø¯ ÙÙÛ ÙÙÙ Ø§ÛÙÙ Ú©Ù base ÙØ¶ÛÙ Ø±Ù Ø®ÙØ¨ ÙÛÙÙÙÙ Ù Ø¨Ø¹Ø¯Ø§ Ø®ÛÙÛ Ø³Ø±ÛØ¹ØªØ± Ù¾ÛØ´Ø±ÙØª ÙÛÚ©ÙÙ

2- Ø¨Ø±Ø§Û Ø§ÙÙØ§ÛÛÙ Ú©Ù Ø¨Ù ÙØ± Ø¯ÙÛÙÛ ÙÙÛØ®ÙØ§Ù ÚØ±Ø® Ø±Ù Ø¯ÙØ¨Ø§Ø±Ù Ø§Ø®ØªØ±Ø§Ø¹ Ú©ÙÙ Ø®ÙØ¨ ÚØ±Ø®Ø§Û Ø²ÛÙØ¯Û ÙØ¨ÙØ§ Ø§Ø®ØªØ±Ø§Ø¹ Ø´Ø¯Ù Ú©Ù ÙØ§ Ø¨Ø±Ø§Û ÙÙÙÙÙ Ø§ÛÙØ¬Ø§ ÛÙ ÚØ±Ø® open source Ú©Ù Ø¨Ø±Ø§Û NET. ÙÙ ÙÙÙ Ø§ÙÚ©Ø§ÙØ§ØªØ´ Ø±Ù Ø¯Ø± Ø§Ø®ØªÛØ§Ø± Ú¯Ø°Ø§Ø´ØªÙ (Ø¨Ù Ø§Ø³Ù OpenCV) ÙØ¹Ø±ÙÛ Ú©Ø±Ø¯ÛÙ Ù Ø§Ù Ø´Ø§Ø§... Ø§Ø¯Ø§ÙØ´ ÙÙ ÙÛØ¯ÛÙ Ø¨Ø§ ÙØ·Ù Ù ÛØ§Ø±Û Ø¯ÙØ³ØªØ§Ù.

3- Ù¾Ø³ ÙØ± Ú©Ø³Û ÙØ³Ø¨Øª Ø¨Ù ÙØ¯Ù Ù Ø´Ø±Ø§ÛØ·Ø´ ÙÛØªÙÙÙ ÙÙ ÚØ±Ø® Ø§Ø®ØªØ±Ø§Ø¹ Ú©ÙÙ Ù ÙÙ ÚØ±Ø® Ø³ÙØ§Ø± Ø¨Ø´Ù Ù ÙØ± Ø¯Ù Ø´ÙÙÙ Ø®ÙØ¨Ù Ù Ø¨Ù ÙÛÚ Ú©Ø¯ÙÙ ÙÙÛØ´Ù Ø®Ø±Ø¯Ù Ú¯Ø±ÙØª.

4- Ø¨Ø¨Ø®Ø´ÛØ¯ Ø²ÛØ§Ø¯ Ø­Ø±Ù Ø²Ø¯Ù

ÙÙÙÙ Ø¨Ø§Ø´ÛØ¯
jooje

----------


## afrashteh1

Ø¯ÙØ³ØªØ§Ù Ø®ÙØ§ÙØ´ ÙÙ ÙÙÙ Ø§Ú¯Ù ÙØ³Ù Ø¯Ø± Ø§ÙÙ Ø²ÙÙÙÙ Ø§Ø·ÙØ§Ø¹Ù Ø¯Ø§Ø±Ù Ø§Ø² ÙØ§ Ø¯Ø±ÙØº ÙÙÙÙ .Ø®ÙÙÙ Ø¶Ø±ÙØ±ÙÙ

----------


## sokote_bi_payan

afrashteh1 ÙØ·ÙØ§ ÛÙ Ø®ÙØ±Ø¯Ù Ø¨ÛØ´ØªØ± ØªÙØ¶ÛØ­ Ø¨Ø¯ÛØ¯. ÛØ¹ÙÛ ÚÛ Ø



> ÙÙ Ø·ÙÙ Ø±ÙÚ¯Ù Ø±Ø§ Ø¯Ø±ÙØ§ÙØª ÙÙÙ Ù ÙÙØ· Ø§ÙÙ Ø·ÙÙ Ø±Ø§ ØªØºÙÙØ± Ø±ÙÚ¯ Ø¨Ø¯Ù


Ø®ÙØ¨Ù ÙÙØ· Ú©Ø§ÙÛÙ ÛÙ Ø´Ø±Ø· Ø¨Ù Ø­ÙÙÙ Ø§Øª Ø§Ø¶Ø§ÙÙ Ø´Ù ÙÙÛÙ

----------


## sokote_bi_payan

Ø¯ÙØ³ØªØ§Ù Ú©Ø³Û ØªÙ Ø²ÙÛÙÙ ÙÛÙØªØ± Ú©ÙÙÙ Ú©Ø§Ø± ÙÚ©Ø±Ø¯Ù Ø

Ø§Ú¯Ù Ú©Ø§Ø± Ú©Ø±Ø¯Ù ÙØ·ÙØ§ ÛÙ ØªÙØ¶ÛØ­ Ù Ø§Ú¯Ù ÙØ«Ø§Ù ÛØ§ Ù¾Ø±ÙÚÙ Ø§Û ÙÙ Ø¯Ø§Ø±Ù Ø¨Ø°Ø§Ø±Ù ØªØ§ Ø¯ÛÚ¯Ø±Ø§Ù Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÙØ¯

ÙÙÙÙÙ

----------


## Amir Oveisi

http://www.vni.com/products/imsl/cSh...FilterEx1.html

----------


## sokote_bi_payan

ÙØ­ÙÙ Ù¾ÛØ§Ø¯Ù Ø³Ø§Ø²Û particle ØªÙ ÙØ­ÛØ· ÙØ·ÙØ¨

----------


## esfahan

Ø³ÙØ§Ù Ø§Ø³Ù ÙÙ ÙØ­ÙØ¯
ÙÙ ØªÙ matlab Ø¯Ø± Ø²ÙÛÙÙ Ù¾Ø±Ø¯Ø§Ø²Ø´ ØªØµÙÛØ± Ø®ÛÙÛ Ú©Ø§Ø± Ú©Ø±Ø¯Ù ÙÙÛ ÙØªØ§Ø³ÙØ§ÙÙ Ø¨Ø± Ø®ÙØ§Ù Ø³Ø§Ø¯Ú¯Û ÙØ·ÙØ¨ Ø³Ø±Ø¹Øª Ù¾Ø§ÛÛÙÛ Ø¯Ø§Ø±Ù 
Ø¨Ø±Ø§ ÙÙÛÙ Ø§ÙÙØ¯Ù Ø¨Ù Ø³ÙØª Ø³Û Ø´Ø§Ø±Ù¾ Ø­Ø§ÙØ§ Ú©Ø³Û Ø§Ø² Ø¯ÙØ³ØªØ§Ù ÙÛØ¯ÙÙÙ ÚØ·ÙØ± ÙÛØ´Ù ÙØ±Ú©Ø² ÚÙØ¯ ØªØ§ Ø¯Ø§ÛØ±Ù Ø±Ø§ ØªÙ Ø³Û Ø´Ø§Ø±Ù¾ Ù¾ÛØ¯Ø§ Ú©Ø±Ø¯ Ø§Ú¯Ù Ø±Ø§ÙÙÙØ§ÛÛ Ú©ÙÛØ¯ ÙÙÙÙÙ ÙÛØ´Ù 
Ø§Ø² ØªÙØ§Ù Ø¯ÙØ³ØªØ§ÙÛ Ú©Ù ØªÙ Ø§ÛÙ ÙØ³ÙØª Ú©ÙÚ© ÙÛÚ©ÙÙØ¯ Ù ÙØ·ÙØ¨ ÙÛÚ¯Ø°Ø§Ø±ÙØ¯ ØªØ´Ú©Ø± ÙÛÚ©ÙÙ :ØªØ´ÙÛÙ:

----------


## SamIran

Ø¯ÙØ³Øª Ø¹Ø²ÛØ²!
Ø§Ú¯Ø± Ø¯ÙØ¨Ø§Ù Ø³Ø±Ø¹Øª ÙØ§ÙØ¹Û ÙØ³ØªÛ Ø¨Ø§ÛØ¯ Ø§Ø² FrameWork Ø¯ÙØ±Û Ú©ÙÛ! Ø¨Ø§ÛØ¯ Ø¨Ù Ø³ÙØª Ø¨Ø±ÙØ§ÙÙ ÙØ§Û Native Ø¨Ø±Û Ú©Ù Ø¨ÙØªØ±ÛÙ Ú¯Ø²ÛÙÙ Ø¨Ù ÙØ¸Ø± ÙÙ OpenCV Ù C++â Native ÙØ³Øª! Ø§ÛÙÙ Ø¹ÙØªØ´ :

----------


## seniamail

Ø§ÛÙ ÙÙ ÛÙ ÙÙÙÙÙ Ø¨Ø±ÙØ§ÙÙ Ú©Ù ØªØ¹Ø¯Ø§Ø¯ Ù¾ÛÚ©Ø³ÙÙØ§Û Ø³ÛØ§Ù Ø±Ù ÙÛØ´ÙØ§Ø±Ù Ú©Ù Ú©Ø§Ø± Ø®ÙØ¯Ù ÙØ³Øª

----------


## sokote_bi_payan

ÚÙØ¯ ÙÙØªÛÙ Ú©Ù Ø¯Ø§Ø±Ù Ø±Ù ÛÙ Ø¨Ø­Ø« Ø®ÛÙÛ Ø¬Ø§ÙØ¨ Ú©Ø§Ø± ÙÛ Ú©ÙÙ.
Ø¨Ù ÙØ¸Ø±ØªÙÙ ÚÛ Ø¬ÙØ±ÛÙ Ø¨Ù ÛÙ Ø¨ÚÙ ÙÛ Ú¯ÛÙ Ø§ÛÙ Ø¯Ø±Ø®ØªÙ Ø¨Ø¹Ø¯ Ø§ÙÙØ§Ø¹ ÙØ®ØªÙÙ Ø¯Ø±Ø®Øª Ø±Ù ÙÛ Ø¨ÛÙÙ ÙÛ ÙÙÙÙ Ú©Ù Ø§ÙÙ Ø¯Ø±Ø®ØªÙØ
ØªÙ Ø²ÙÛÙÙ Ù¾Ø±Ø¯Ø§Ø²Ø´ Ø¨Ù ÙØ¸Ø±Ù Ø§ÙØ³Ø§Ù Ø§Ø² Ú©Ù Ø¨Ù Ø¬Ø² ÙÛ Ø±Ø³Ù ÛØ¹ÙÛ Ø§Ø¨ØªØ¯Ø§ Ú©Ù Ø§ÙÙ Ø¯Ø±Ø®Øª Ø±Ù ÙÛ Ø¨ÛÙÙ Ø¨Ø¹Ø¯ Ø´Ø¨ÛÙ Ø³Ø§Ø²Û ÙÛ Ú©ÙÙ Ø¨Ø¹Ø¯ ØªØ´Ø®ÛØµ ÙÛ Ø¯Ù Ú©Ù Ø¯Ø±Ø®ØªÙØ
Ø¯ÙØ³ØªØ§Ù Ú©Ø³Û Ø¯Ø± Ø§ÛÙ ÙÙØ±Ø¯ ÙØ¸Ø±Û ÙØ¯Ø§Ø±ÙØ
ÙØ§ÙØ¹Ø§ Ø¹Ø¬Ø¨ ÙØ¯Ø±ØªÛ Ø¯Ø§Ø±Ù Ø®Ø¯Ø§Ø§Ø§Ø§Ø§Ø§Ø§Ø§Ø§Ø§Ø§

----------


## sokote_bi_payan

Ø¨Ù ÙØ¸Ø±ØªÙÙ ÙÛØ´Ù Ø±Ù Ø§ÛÙ Ù¾Ø±ÙÚÙ Ú©Ø§Ø±Ú©Ø±Ø¯ Ø
ÛØ¹ÙÛ ÙØ§ Ø¨ÛØ§ÛÙ ÛÚ© ÙØ±Ù Ø§ÙØ²Ø§Ø±Û Ø·Ø±Ø§Ø­Û Ú©ÙÛÙ Ú©Ù Ø§ÙÙØ§ ÙØ¯Ø±Øª ÛØ§Ø¯Ú¯ÛØ±Û Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´Ù
Ø«Ø§ÙÛØ§ Ø¨ØªÙÙÙ Ø´Ø¨ÛÙ Ø³Ø§Ø²Û Ø§ÙØ¬Ø§Ù Ø¨Ø¯Ù Ù ÛÚ© Ø¬Ø³Ù Ø±Ù ØªØ´Ø®ÛØµ Ø¨Ø¯Ù Ø

----------


## ÙØµØ·ÙÛ Ø³Ø§ØªÚ©Û

ÚØ±Ø§ Ú©Ø§Ø± Ø³Ø®ØªÛ ÙÛØ³Øª ÙÙÛ ÙØ­Ø¯ÙØ¯Ø´ Ø¨Ø§ÛØ³ØªÛ ÙØ´Ø®Øµ Ø¨Ø§Ø´Ù Ù Ù¾Ø±ÙÚÙ open source ÙØ¨Ø§Ø´Ù ÙÙ ÙØ³ØªÙ

----------


## sokote_bi_payan

ÙØ­Ø¯ÙØ¯Ù ÚÛ Ø¨Ø§ÛØ¯ ÙØ´Ø®Øµ Ø¨Ø§Ø´Ù Ø

----------


## amirsadeghi

> Ø¯ÙØ³ØªØ§Ù ÙÙ ÙÙ Ø¨Ø±ÙØ§ÙÙ ÙÙØ´ØªÙ ÙÙ ØªØµÙÙØ± Ø±Ø§ Ø³ÙØ§Ù Ù Ø³ÙÙØ¯ ÙÙÙÙÙ (ÙÚ¯Ø§ØªÙÙ) ÙÙÙ Ø­Ø§ÙØ§ ÙÙ Ø®ÙØ§Ù ÙÙ Ø·ÙÙ Ø±ÙÚ¯Ù Ø±Ø§ Ø¯Ø±ÙØ§ÙØª ÙÙÙ Ù ÙÙØ· Ø§ÙÙ Ø·ÙÙ Ø±Ø§ ØªØºÙÙØ± Ø±ÙÚ¯ Ø¨Ø¯Ù (ÙØ«ÙØ§ Ø³ÙØ§Ù Ù Ø³ÙÙØ¯)


Ø®Ø¨ Ø¨Ø§ ÚÙ Ø±ÙØ´Û Ø³ÛØ§Ù Ù Ø³ÙÛØ¯ ÙÛÚ©ÙÛØ
Ù¾ÛÚ©Ø³Ù Ù¾ÛÚ©Ø³Ù ÙÛØ®ÙÙÛ Ù Ø¨Ø§ ÙØ±ÙÙÙØ´ ÙØ± ÙÙÙÙÙ Ø±Ù Ø¬ÙØ¹ Ù ØªÙØ³ÛÙ ÙÛÚ©ÙÛØ
Ø§Ú¯Ù Ø§ÛÙØ¬ÙØ±ÛÙ Ú©Ù Ø¨Ø§ÛØ¯ Ø¨Ú¯Ù ÙØ¨Ù Ø§Ø² Ø§ÛÙÚ©Ù ÙÙÙÙÙ ÙØ§ Ø±Ù Ø¬ÙØ¹ Ù ØªÙØ³ÛÙ Ú©ÙÛ Ú©Ø§ÙÛÙ ØªÙ ÛÙ Ø´Ø±Ø· Ú©Ù ÙÛØªÙÙÙ if Ø¨Ø§Ø´Ù ÛØ§ case Ø¨Ø±Ø±Ø³Û Ú©ÙÛ Ú©Ù Ø¢ÛØ§ ÙØ±Ú©Ø¯ÙÙ Ø§Ø² ÙÙÙÙÙ ÙØ§ ØªÙ range Ø·ÛÙ ÙÙØ±Ø¯ ÙØ¸Ø±Øª ÙØ³ØªÙ ÛØ§ ÙÙ
Ø§Ú¯Ù ÙØ± Ø³Ù ØªØ§ ØªÙ Ø±ÙØ¬ Ø¨ÙØ¯Ù Ø§ÙÙ ÙÙÙØ¹ ÙÙÙÙÙ ÙØ§ Ø±Ù Ø¬ÙØ¹ Ù ØªÙØ³ÛÙ Ú©Ù.
Ø¨ÙÙÛÙ Ø±Ø§Ø­ØªÛ...

----------


## amirsadeghi

> Ø¯Ù Ø§ÙÚ¯ÙØ±ÛØªÙ ÙØ¹Ø±ÙÙ ØªÙ Ø§ÛÙ Ø²ÙÛÙÙ ÙØ¬ÙØ¯ Ø¯Ø§Ø±Ù(ÙÚ©Ø§Ù ÛØ§Ø¨Û Ù ÙÙØ´Ù Ø¨Ø±Ø¯Ø§Ø±Û) ÛÚ©Û Ø§ÙÚ¯ÙØ±ÛØªÙ Ú©Ø§ÙÙÙ Ù Ø¯ÛÚ¯Ø±Û Ù¾Ø§Ø±ØªÛÚ©Ù Ú©Ù ÙØ± Ú©Ø¯ÙÙ Ø¨Ù ÛÙ ØµÙØ±ØªÛ Ø´Ø±ÙØ¹ Ø¨Ù Ø§ÛÙ Ø¹ÙÙÛØ§Øª ÙÛ Ú©ÙÙØ¯( Ø§ÙØ¨ØªÙ Ø§ÙÚ¯ÙØ±ÛØªÙ ÙØ§Û Ø¯ÛÚ¯Ù Ø§Û ÙÙ ØªÙ Ø§ÛÙ Ø²ÙÛÙÙ ÙØ¬ÙØ¯ Ø¯Ø§Ø±Ù)
> 
> Ø§ÛÙ ÙÙØ§ÙÙ Ø·Ø±ÛÙÙ ÙÙØ´Ù Ø¨Ø±Ø¯Ø§Ø±Û Ø¨Ù ØµÙØ±Øª ÙÙØ²ÙØ§Ù ØªÙØ³Ø· ÚÙØ¯ Ø±Ø¨Ø§Øª Ø±Ø§ ØªÙØ¶ÛØ­ ÙÛ Ø¯Ù.
> 
> (Ø¬Ø§ Ø¯Ø§Ø±Ù Ø§ÛÙØ¬Ø§ ÛÙ Ø§ÙØªÙØ§Ø¯ Ø§Ø² Ø³Ø§ÛØª Ø¨Ø±ÙØ§ÙÙ ÙÙÛØ³ Ø¨Ú©ÙÙ Ø§ÙÙÙ Ø§ÛÙÚ©Ù Ø¨Ø®ÙØ§ÛÙ ÙØ§ÛÙÛ Ø±Ù ÙØ±Ø§Ø± Ø¨Ø¯ÛÙ Ø®ÛÙÛ ÙØ­Ø¯ÙØ¯ÛØª Ø¯Ø§Ø±Ù. ÚÙ Ø§Ø² ÙØ¸Ø± Ø­Ø¬Ù ÚÙ Ø§Ø² ÙØ¸Ø± ÙÙØ¹ ÙØ§ÛÙ)
> 
> Ø¨Ù ÙÙÛÙ Ø¯ÙÛÙ ÙØ¬Ø¨ÙØ± Ø´Ø¯Ù Ø¨Ø±Ù ÛÙ Ø³Ø§ÛØª Ø¯ÛÚ¯Ù Ø¢Ù¾ÙÙØ¯ Ú©ÙÙ.
> 
> Ø§ÛÙÙ ÙÛÙÚ©Ø´ :
> ...


Ø¯ÙØ³Øª Ø¹Ø²ÛØ² Ø§ÛÙ ÙÛÙÚ© Ø§Ø² Ø¨ÛÙ Ø±ÙØªÙ. Ø§ÙÚ©Ø§ÙØ´ ÙØ³Øª ÙØ¬Ø¯Ø¯Ø§ Ø§ÙÙ Ø±Ù Ø¢Ù¾ÙÙØ¯ Ú©ÙÛØ

----------


## sokote_bi_payan

Ø´Ø±ÙÙØ¯Ù Ø§ÙÙ Ù¾Ø³Øª Ø­Ø¯Ø§ÙÙ ÙØ§Ø³Ù ÛÚ©Û Ø¯Ù Ø³Ø§Ù Ù¾ÛØ´ Ø¨ÙØ¯Ù Ù Ø¯ÛÚ¯Ù ÙØ¯Ø§Ø±ÙØ´

----------


## amirsadeghi

Ø§ÙÚ¯Ø§Ø±Û Ú©ÙØ§ ØªØ§Ù¾ÛÚ© ÙØ§Ù Ø®ÛÙÛ ÙÙØª Ù¾ÛØ´Ù Ø¯Ø±Ø³ØªÙØ
ÛØ§ ÙØ±Ø§Ø± ÙØ³Øª ÙØ¹Ø§Ù Ø¨Ø´ÙØ

----------


## r.gh45

Ø³ÙØ§Ù 
ÙÙ ÙÛ Ø®ÙØ§Ù Ø´Ø±ÙØ¹ Ø¨Ù ÛØ§Ø¯Ú¯ÛØ±Û Ù¾Ø±Ø¯Ø§Ø²Ø´ ØªØµÙÛØ± Ú©ÙÙ ØªÙÛ Ø§ÛÙ ØªØ§Ù¾ÛÚ© ÙØ·Ø§ÙØ¨ Ø¹Ø§ÙÛ Ù Ø®ÙØ¨Û Ù¾ÛØ¯Ø§ Ú©Ø±Ø¯Ù
Ø§ÙØ¨ØªÙ ÙÙ Ø®ÙØ¯Ù Ø¯Ø± Ø§Ø¨ØªØ¯Ø§Û Ú©Ø§Ø±Ù Ù ÙÛÚÛ Ø¨ÙØ¯ ÙÛØ³ØªÙ Ø§ÙÙÛØ¯ÙØ§Ø±Ù Ø¨Ø§ Ú©ÙÚ© ÙÙ Ø¨Ù Ø¬Ø§ÙØ§Û Ø®ÙØ¨Û Ø¨Ø±Ø³ÛÙ

----------


## r.gh45

Ø³ÙØ§Ù 
ÙÙ Ø¨Ø±Ø§Û Ø§ÙÙ Ú©Ø§Ø± ÛÚ© Ø¨Ø±ÙØ§ÙÙ Ø¨Ø±Ø§Û Grayscale ÛÚ© ØªØµÙÛØ± ÙÙØ´ØªÙ Ø§ÙØ¨ØªÙ Ú©Ø¯Ø´ Ù¾ÛÚÛØ¯Ù ÙÛØ³Øª ÙÙÛ Ø¨Ø±Ø§Û Ø´Ø±ÙØ¹ Ú©Ø§Ø± ÙØ§Ø²ÙÙ
Ú©Ø¯Ø´Ù Ø§Ø² Ø±ÙÛ ØªØ§Ù¾ÛÚ©Ø§ÛÛ Ú©Ù ÙØ¨ÙØ§ ØªÙÛ ÙÙÛÙ Ø³Ø§ÛØª Ø±Ø§ÙÙÙØ§Û Ú©Ø±Ø¯Ù  Ø¨ÙØ¯Ù Ø¨Ø±Ø¯Ø§Ø´ØªÙ :Ø®Ø¬Ø§ÙØª: 
http://rapidshare.com/files/43260328...Applicatio.rar

----------

