نمایش نتایج 1 تا 7 از 7

نام تاپیک: به دست آوردن تعداد پیکسل هررنگ در تصاویر بیت مپ

  1. #1

    به دست آوردن تعداد پیکسل هررنگ در تصاویر بیت مپ

    با سلام خدمت اساتید محترم
    من تو پروژم نیاز دارم تعداد پیکسل هررنگ رو به صورت جداگانه داشته باشم(شکل زیر) که استفاده از دستوراتی مثل bmp.GetPixel(x,y) خیلی زمانبره
    آیا راهی هست ک بتونم سریعتر تعداد پیکسل هررنگ رو بدست بیارم (تو بعضی از تصاویر ممکنه بیشتر از 200 تا رنگ داشته باشیم که خیلی زمانبره)
    ممنون میشم کمکم کنید
    palet.jpg

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: به دست آوردن تعدادپیکسل هررنگ در تصاویر بیت مپ

    با سلام
    این لینک رو یه نگاه بندازید.

  3. #3

    نقل قول: به دست آوردن تعداد پیکسل هررنگ در تصاویر بیت مپ

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

  4. #4

    نقل قول: به دست آوردن تعدادپیکسل هررنگ در تصاویر بیت مپ

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    با سلام
    این لینک رو یه نگاه بندازید.
    منونم دوست عزیز از راهنماییتون
    از این کلاس قبلا استفاده کردم ولی نتونستم تعداد پیکسل هر رنگ رو برگردونم . نمیدونم کجا اشتباه میکردم
    ممنون میشم بیشتر راهنمایی کنید

  5. #5
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: به دست آوردن تعداد پیکسل هررنگ در تصاویر بیت مپ


    int count = 0;
    HashSet<Color> colors = new HashSet<Color>();
    Bitmap bmp = null;

    if (File.Exists(fileName))
    {
    try
    {
    bmp = new Bitmap(fileName);
    if (bmp != null)
    {
    for (int y = 0; y < bmp.Size.Height; y++)
    {
    for (int x = 0; x < bmp.Size.Width; x++)
    {
    colors.Add(bmp.GetPixel(x, y));
    }
    }
    count = colors.Count;
    }
    }
    catch
    {
    throw;
    }
    finally
    {
    colors.Clear();
    bmp.Dispose();
    }
    }

  6. #6

    نقل قول: به دست آوردن تعداد پیکسل هررنگ در تصاویر بیت مپ

    نقل قول نوشته شده توسط amin1softco مشاهده تاپیک

    int count = 0;
    HashSet<Color> colors = new HashSet<Color>();
    Bitmap bmp = null;

    if (File.Exists(fileName))
    {
    try
    {
    bmp = new Bitmap(fileName);
    if (bmp != null)
    {
    for (int y = 0; y < bmp.Size.Height; y++)
    {
    for (int x = 0; x < bmp.Size.Width; x++)
    {
    colors.Add(bmp.GetPixel(x, y));
    }
    }
    count = colors.Count;
    }
    }
    catch
    {
    throw;
    }
    finally
    {
    colors.Clear();
    bmp.Dispose();
    }
    }
    ممنون دوست عزیز از راهنماییتون
    من با بدست آوردن رنگ ها مشکلی ندارم ، مشکل با بدست آوردن تعداد پیکسل در هر رنگه که با GetPixel(x,Y) 1 ، برای تصاویری که رنگشون زیاده خیلی زمان میبره

  7. #7
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: به دست آوردن تعداد پیکسل هررنگ در تصاویر بیت مپ

    دوست عزیز شما نوعش را به دیکشنری تغییر بدید با اضافه کردن یک شرط تعدادش را بدست بیارید

    Dictionary<Color, int> colors = new Dictionary<Color, int>();
    Bitmap bmp = null;
    if (File.Exists(fileName))
    {
    try
    {
    bmp = new Bitmap(fileName);
    if (bmp != null)
    {
    for (int y = 0; y < bmp.Size.Height; y++)
    {
    for (int x = 0; x < bmp.Size.Width; x++)
    {
    Color c=bmp.GetPixel(x, y);
    if (colors.ContainsKey(c))
    colors[c]++;
    else colors.Add(c, 0);

    }
    }

    }
    }
    catch
    {
    throw;
    }
    finally
    {
    // colors.Clear();
    bmp.Dispose();
    }
    }

    }
    }

تاپیک های مشابه

  1. سوال: به دست آوردن تعداد خط و کاراکتر
    نوشته شده توسط sysman_20 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 28 فروردین 1388, 19:57 عصر
  2. سوال: به دست آوردن تعداد فرم های یک برنامه
    نوشته شده توسط seven_7_sky در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 2
    آخرین پست: دوشنبه 20 آبان 1387, 16:14 عصر
  3. سوال: به دست آوردن تعداد یک کاراکتر خاص در یک رشته
    نوشته شده توسط mehrnoosh_al62 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 27 شهریور 1387, 11:06 صبح
  4. به دست آوردن تعداد کاربران حاضر برروی سایت
    نوشته شده توسط moohssenn در بخش PHP
    پاسخ: 5
    آخرین پست: پنج شنبه 23 فروردین 1386, 14:39 عصر
  5. به دست آوردن تعداد صفحات گزارش(کریستال ریپورت) قبل از ارسال به پرینتر
    نوشته شده توسط Happy_davood در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: دوشنبه 12 تیر 1385, 13:15 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •