زمان جاری: 07-30-2014, 03:17 AM
خوش آمدید مهمان گرامی! (ورودعضویت)

ارسال پاسخ 
 
رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش پردازش تصویر در سی شارپ c#
04-27-2010, 10:04 PM (آخرین تغییر در این ارسال: 07-14-2010 03:18 PM توسط مهدی ابراهیمی.)
ارسال: #1
آموزش پردازش تصویر در سی شارپ c#
امروز( یا بهتره بگم امشب) پردازش تصویر در سی شارپ c# رو قرار میدم به امید آنکه به درد کسی بخوره و گره از کار کسی باز بشه. سی شارپ یکی از کاربردیترین زبان های برنامه نویسی است که از زبان پایه ای و قدرتمند c مشتق شده است.

آموزش ۱:

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

بعد از اینکه متغیر رو از نوع color تعریف کردیم با استفاده از متد getpixel رنگ یک پیکسل رو توی متغیر قرار میدیم.

کد PHP:
Color color_for_set myBitmap.GetPixel(xy); 

من اینجا دو عمل تعریف متغیر و گرفتم رنگ رو توی یه خط انجام دادم.

امیدوارم مفید باشه.

You are not allowed to view links. Register or Login to view.

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
 تشکر شده توسط : morteza ghaem مهرداد عباسی Nikkhahan nghkbd شهاب طاهری nassir
04-27-2010, 10:08 PM (آخرین تغییر در این ارسال: 07-14-2010 03:20 PM توسط مهدی ابراهیمی.)
ارسال: #2
RE:آموزش پردازش تصویر در سی شارپ c#
به نام خدا.

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

کد PHP:
myBitmap.SetPixel(ijmycolor); 


You are not allowed to view links. Register or Login to view.

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
 تشکر شده توسط : morteza ghaem مهرداد عباسی ebrahim Nikkhahan ندازاده شهاب طاهری
08-28-2010, 12:07 PM (آخرین تغییر در این ارسال: 06-07-2011 11:02 PM توسط مهدی ابراهیمی.)
ارسال: #3
RE: آموزش پردازش تصویر در سی شارپ c#

حالا که میبینم دوستان علاقه زیادی به یادگیری پردازش تصویر در C# دارند این کتاب (3صفحه) خیلی مفید رو به شما پیشنهاد می کنم. مطالب این PDF رو دست کم نگیرید چون من با استفاده از مطالب همین کتاب پروژه دانشگاهم (OMR)رو که در زمینه تصحیح پاسخنامه کنکور بود انجام دادم.23


نویسنده: مرتضی سرگلزائی جوان
اصول اولیه پردازش تصویر در زبان برنامه نویسی #C (سی شارپ)

» تگهای جستجو: سر گلزائی - کد نویسی - C#


You are not allowed to view links. Register or Login to view.
Pass: "www.farsibooks.ir"

You are not allowed to view links. Register or Login to view.


[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
 تشکر شده توسط : siavashmohammadi morteza ghaem Nikkhahan شهاب طاهری iranban hamidv
08-30-2011, 01:50 AM (آخرین تغییر در این ارسال: 08-30-2011 01:57 AM توسط مهدی ابراهیمی.)
ارسال: #4
RE: آموزش پردازش تصویر در سی شارپ c#
برای راحتی انجام کارهای پردازش تصویر در #C ، کتابخانه هایی برای این زبان نوشته شده اند که توی همین انجمن توضیحات و لینک دانلود اونا قرار داده شده.

اولین کتابخانه:
فریم ورک AForge.net
فریم ورک AForge، مجموعه‌ای از کلاس‌ها و توابع در زمینه‌های بینایی ماشین (Computer Vision)، هوش مصنوعی (Artificial Intelligence)، پردازش تصویر (Image Processing)، شبکه‌های عصبی (Neural Network)، الگوریتم ژنتیک (Genetic Algorithm)، آموزش ماشین (Machine Learning)، منطق فازی (Fuzzy Logic)، روباتیک (Robotic) و … به زبان #C و تحت دات نت ۲ می‌باشد. این کتابخانه قدرتمند، متن باز (open source) بوده و محققین و توسعه گران می‌توانند به راحتی از آن استفاده نمایند. کتابخانه AForge.net تحت حمایت گوگل در بخش گوگل کد (Google Code) در حال توسعه می باشد.
لینک معرفی و دانلود در همین سایت : You are not allowed to view links. Register or Login to view.

دومین کتابخانه:
فریم ورک Accord.NET
نسخه پیشرفته ای (و شاید فورکی) از AForge.NET است که شامل کتابخانه ها و ابزارهای جدیدی می باشد.
لینک معرفی و دانلود در همین سایت : You are not allowed to view links. Register or Login to view.

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

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
 تشکر شده توسط : مهرداد عباسی prodeveloper sara90 alamdar_313 ندازاده morteza ghaem Nikkhahan lllove1ess شهاب طاهری msdn digicom
04-21-2012, 05:44 AM (آخرین تغییر در این ارسال: 04-21-2012 05:44 AM توسط مهدی ابراهیمی.)
ارسال: #5
RE: آموزش پردازش تصویر در سی شارپ c#
جلسه ی اول:آشنایی با نحوه ی وارد کردن تصویر در

سلام خدمت دوستان خوبم،در این تاپیک به آموزش پردازش تصویر در C#‎ از پایه می پردازیم. امیدوارم که آموزش رو به طور مستمر دنبال کنید و براتون مفید باشه...
اول یک PictureBox به فرم اضافه می کنیم سپس برای نمایش یک فایل گرافیکی ما شئ Bitmap استفاده می کنیم به صورت زیر:

[تصویر: 322d8f99bb75ee15feb003fe117c3a3f.jpg]

کد PHP:
Bitmap bmp = new Bitmap("آدرس عکس");

pictureBox1.Image bmp

اکنون برنامه را اجرا کنید . می بینید که تصویر مورد نظر فراخوانی و در PictureBox نمایش داده شده است.
برخی از ویژگی های کلاس PictureBox
ClienRectangle :کادر مشخص کننده محدوده کنترل (بدون در نظر گرفتن نوارهای لغزان , حاشیه ها , نوار عنوان و...)
Image : مشخص کننده کلاس Image که در بردارنده تصویری است که نمایش داده میشود.
SizeMode :تعیین نحوه نمایش تصویر.

You are not allowed to view links. Register or Login to view.

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
 تشکر شده توسط : morteza ghaem Nikkhahan شهاب طاهری
04-21-2012, 05:47 AM
ارسال: #6
RE: آموزش پردازش تصویر در سی شارپ c#
جلسه 2:انجام تغییرات روی پیکسل ها بدون استفاده از اشاره گر ها

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

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

کد PHP:
BMP.GetPixel(xy); 


برای تنظیم رنگ یک نقطه یا پیکسل هم به صورت زیر استفاده می کنیم

کد PHP:
BMP.SetPixel(xy, (red,green,blue)); 



رنگ پیکسلی را که با دستور به دست می آید می توان با فرمول زیر رنگ های آبی , قرمز , سبز را تفکیک کرد
کد PHP:
color 256 ;
= ( color % ( 256 256 ) ) / 256 ;

color / ( 256 256 ) ; 


البته در #c یک شئ Color وجود دارد که می تواند خود رنگهای اصلی را تفکیک بدهد.

کد PHP:
Color colcol.Rcol.Gcol.B

منبع: همان

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
 تشکر شده توسط : morteza ghaem Nikkhahan شهاب طاهری
04-21-2012, 05:48 AM
ارسال: #7
RE: آموزش پردازش تصویر در سی شارپ c#
جلسه3:طریقه ی پیمایش تمام پیکسل های تصویر
یکی از کارهای مهم که در پردازش تصویر انجام می شود نحوه پیمایش یک شئ گرافیکی می باشد , که نحوه دسترسی به اجزا یا پیکسل های یک تصویر برای تحلیل و پیاده سازی الگوریتم ها ی خود بر روی تصاویر می باشد. همانطور که می دانید تصاویر ما دو بعدی هستند پس ما دارای دو بردار X,Y برای تعیین مختصات داریم.

برای پیمایش یک شئ گرافیکی در زبان C#‎‎‎‎‎‎‎‎‎‎‎‎‎ روشهای مختلفی وجود دارد که ما در اینجا فعلا یک روش را به شما معرفی می کنیم.

کد PHP:
Color col;
for (
int i 0Int32.Parse(BMP.Width.ToString()); i++)
{
for (
int j 0Int32.Parse(BMP.Height.ToString()); j++)
{
col BMP.GetPixel(ij);
BMP.SetPixel(ijColor.FromArgb(RGBست کردن رنگ دلخواه بر اساس ));
}


منبع: همان

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
 تشکر شده توسط : morteza ghaem Nikkhahan شهاب طاهری
04-21-2012, 05:49 AM (آخرین تغییر در این ارسال: 04-21-2012 05:51 AM توسط مهدی ابراهیمی.)
ارسال: #8
RE: آموزش پردازش تصویر در سی شارپ c#
جلسه4:نگاتیو کردن عکس

یکی از ساده ترین فیلتر ها در پردازش تصویر فیلتر نگاتیو کردن می باشد.به وسیله ی این فیلتر مقدار رنگ قرمز،سبز و آبی هر پیکسل از عدد 255 کم می شود و در اصطلاح عکس نگاتیو می شود.برای اجرای این فیلتر روی عکس با استفاده از دو حلقه for شروع به پیمایش در تصویر می کنیم و رنگ هر پیکسل را با استفاده از دستور getpixel دریافت می کنیم و پس از آن به وسیله ی دستور setpixel رنگ هر پیکسل را از 255 کم کرده و به آن پیکسل اعمال می کنیم:

کد PHP:
public Bitmap interval(Bitmap BMP){
Color col;
for (
int i 0Int32.Parse(BMP.Width.ToString()); i++)
{
for (
int j 0Int32.Parse(BMP.Height.ToString()); j++)
{
col BMP.GetPixel(ij);
BMP.SetPixel(ijColor.FromArgb(255 col.R255 col.G255 col.B));
}
}
return 
BMP;




[تصویر: 70bc73b4d6c2cf92df4ea84ccb959715.png][تصویر: 8984eaa9c05bd93f0bfacea4c3a67305.png]
منبع: همان

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
 تشکر شده توسط : morteza ghaem Nikkhahan شهاب طاهری
04-21-2012, 05:55 AM
ارسال: #9
RE: آموزش پردازش تصویر در سی شارپ c#
جلسه5:فیلتر تنظیم روشنایی و فیلتر سیاه سفید
فیلتر تنظیم روشنایی:
کد PHP:
Bitmap BMP = new Bitmap("adress of picture");
Color col;
int rgb;
for (
int i 0Int32.Parse(BMP.Width.ToString()); i++)
{
    for (
int j 0Int32.Parse(BMP.Height.ToString()); j++)
    {
        
col BMP.GetPixel(ij);
        
Int32.Parse(hScrollBar1.Value.ToString()) + col.R;
        
Int32.Parse(hScrollBar1.Value.ToString()) + col.G;
        
Int32.Parse(hScrollBar1.Value.ToString()) + col.B;
        if (
255)
            
255;
        else if (
0)
            
0;
        if (
255)
            
255;
        else if (
0)
            
0;
        if (
255)
            
255;
        else if (
0)
            
0;
        
BMP.SetPixel(ijColor.FromArgb(rgb));
        
pictureBox2.Image BMP;
    }


در برنامه ی بالا از یک اسکرول بار استفده شده است و عدد آن به مقدار رنگ هر پیکسل اضافه یا کم می شود و اگر مقدار رنگ از 255 بیشتر شدT، عدد 255 و اگر از صفر کمتر شد، عدد 0 به عنوان رنگ پیکسل در نظر گرفته می شود.

[تصویر: 70bc73b4d6c2cf92df4ea84ccb959715.png]
[تصویر: 138410472c2bd2d294567f95a156161b.png]

فیلتر سیاه سفید:
کد PHP:
    Bitmap BMP = new Bitmap("adress of picture");
            
Color col;
            
int rgbrgb;
            
byte bluegreenred;
            for (
int i 0Int32.Parse(BMP.Width.ToString()); i++)
            {
                for (
int j 0Int32.Parse(BMP.Height.ToString()); j++)
                {
                    
col BMP.GetPixel(ij);
                    
blue col.B;
                    
green col.G;
                    
red col.R;
                    if (
red 128)
                    {
                        
BMP.SetPixel(ijColor.FromArgb(000)); 
                    }
                    if (
red >= 128)
                    {
                        
BMP.SetPixel(ijColor.FromArgb(255255255));
                    }
                }
            }
            
pictureBox2.Image BMP
اگز مقدار رنگ پیکسل از 128 بیشتر بود،پیکسل به رنگ سفید و اگر کمتر بود، به رنگ سیاه در خواهد آمد.
[تصویر: b04cd879c419b0a614b5e7c84c9fb1cd.png]

منبع: همان

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
 تشکر شده توسط : شهاب طاهری modern_amin
04-21-2012, 06:00 AM
ارسال: #10
RE: آموزش پردازش تصویر در سی شارپ c#
این هم تعدادی کد از یکی از دوستان که در زمینه پردازش تصویر و با c# نوشته شده.
مانند: Edge, filter, Motphology ,...

کتابخانه از : You are not allowed to view links. Register or Login to view.


فایل‌های ضمیمه
.zip  C# ImageProcessing libraries.zip (اندازه: 38.08 KB / دانلودها: 490)

[تصویر: emza.png]
You are not allowed to view links. Register or Login to view.
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در پاسخ
 تشکر شده توسط : Nikkhahan k_hashemi شهاب طاهری iranban
ارسال پاسخ 


موضوعات مشابه ...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  دریافت ابزارها و کتابخانه های پردازش تصویر و بینایی ماشین مهدی ابراهیمی 2 1,160 دیروز 08:26 AM
آخرین ارسال: parvaneh135
  معرفی فریم ورک AForge کتابخانه ای جهت پردازش تصویر مهدی ابراهیمی 10 3,758 07-17-2014 01:12 AM
آخرین ارسال: مهدی ابراهیمی
  پروژه های پردازش تصویر alamdar_313 10 7,212 05-09-2014 03:49 PM
آخرین ارسال: سیمین 67
  خواندن رنگ پیکسل ها ی یک تصویر RGB با استفاده از EMGU CV سیمین 67 3 203 05-07-2014 11:20 PM
آخرین ارسال: سیمین 67
  تشخیص یک شکل با پردازش تصویر نیکناز 0 201 05-01-2014 02:17 PM
آخرین ارسال: نیکناز
  آموزش نرم افزار ENVI(پردازش تصاویر) مهدی ابراهیمی 10 19,965 04-19-2014 06:27 PM
آخرین ارسال: شبنم خسروشاهی
  آموزش تغییر سایز و فرمت(پسوند) تصویر در سی شارپ #C مهدی ابراهیمی 0 181 04-09-2014 11:09 AM
آخرین ارسال: مهدی ابراهیمی
  آموزش پردازش تصویر با استفاده ازکتابخانه EMGU CV در(#CوVBو++VC) مهدی ابراهیمی 1 610 12-07-2013 11:19 AM
آخرین ارسال: مهدی ابراهیمی
  کاهش رنگهای تصویر(Quantization) salamlar 5 715 06-16-2013 01:05 AM
آخرین ارسال: مهدی ابراهیمی
  فراخوانی تصویر asgharkarimi 1 475 05-22-2013 01:04 PM
آخرین ارسال: مهدی ابراهیمی

پرش در انجمن: