ورود

نسخه کامل مشاهده نسخه کامل : تشخيص رنگ ؟!!!



ULF_VB6
19-07-2008, 14:54
سلام
خيلي وقته سرم شلوغه. وقت نمي‌كنم زياد به اين بخش سر بزنم.
الآنم يه مشكل دارم.

يه برنامه بايد بنويسم كه رنگ رو تشخيص مي‌ده.
مثلا تو يه عكس رنگ يك پيكسل رو مي‌گيره با استفاده از تابع GetPixel، بعدش مي‌خوام بفهمم اين رنگ چه رنگيه.
يعني خروجي به صورت blue, red, orange, yellow, ... باشه.
مشكل هم اينجاست كه اين رنگ‌ها يه كد ثابت ندارن كه! هر كدومشون يه رنج گنده‌اي دارن.

خب حالا به نظرتون چه جوري ميشه همچين خروجي‌اي رو با اين نوع ورودي گرفت؟
كامپوننتي، كلاسي، فانكشني، ... ؟!!

Smafias
19-07-2008, 23:08
سلام!

میبینم که کم پیدایی!

خوب برای این کار اون مقداری رو که میگیری به RGB و بعد هم به HSI تبدیل کن!
HSI خیلی چیز توپیه! میتونی با اون رنج هر رنگی رو بدست بیاری و بر اساس اون رنگ رو تشخیص بدی...

اگر هم تبدیل Long به RGB به HSI خواستی بگو تا کدشو بزارم.

اگر اشتباه متوجه شدم بیشتر توضیح بده.
موفق باشی :11:

ULF_VB6
20-07-2008, 00:09
يكم بيشتر درباره‌ي اين سيستم رنگ توضيح بده. چطوري ميشه باهاش مثلا فهميد كه يه رنگ سبزه يا آبي؟
اگه كدشو بذاري كه زحمت منو كم كردي، اگه نه هم خودم يه كاريش مي‌كنم.
اگه يه سمپل بذاري كه ديگه خيلي لطف مي‌كني. اونجوري به توضيحات هم ديگه نيازي نيست!

ULF_VB6
20-07-2008, 00:16
به نظر چيز جالبي مياد. همون چيزي بايد باشه كه دنبالشم.
يه چيزايي اينجا دربارش خوندم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگه چيز ديگه‌اي هست كه بايد بدونم و اينجا ننوشته بود، بگو. البته براي توضيحات اين سيستم رنگ!

منتظرتم...

Smafias
20-07-2008, 16:01
اونو ولش کن! :31:

یه چیز پیدا کردم توپ!!!!!

برو اینجا:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

دیکشنری هاش متفاوته بعضی هاش کمه بعضی هاش زیاد -- بعضی هاش RGB --بعضی هاش Long و ...

اگه مشکل داشتی حتما بگو! :11:

ULF_VB6
21-07-2008, 00:57
ممنون
خيلي‌هم كامله. تا من اينو بخونم كلي طول ميكشه.
بعد از اينكه خوندم، اگه مشكلي بود، مزاحم ميشم.

ULF_VB6
22-07-2008, 02:08
من هيچي از اين نفهميدم ! :دي

Smafias
22-07-2008, 17:52
مشکل اینجاست که واضح نمیگی چی میخوای! :20:

درست و قشنگ بگو دقیقا چه رنگ هایی رو برای تشخیص میخوای؟

هر چی بیشتر توضیح بدی بیشتر و زودتر مشکلت حل میشه! :46:

منتظرم :11:

ULF_VB6
23-07-2008, 01:13
ببين من يه تصوير دارم. توش به صورت قر و قاطي يه سري رنگ هست.
سفيد - قرمز - نارنجي - سبز - زرد - آبي - بنفش (فكر كنم همينا بودن)
حالا من يه نقطه از اين تصوير رو رنگشو به صورت long مي‌گيرم.
مي‌خوام بفهمم اون نقطه چه رنگيه.
البته نكته اينجاست كه هر رنگ به صورت gradiant به كار رفته و كد مشخصي نداره كه بتونم با شرط بررسي كنم.

در اصل مي‌خوام اگه آبي پر رنگ بود، آبي كم رنگ بود، آبي آسماني بود، هر نوع آبي اي بود، بفهمم كه اين رنگ آبيه.
همينطور رنگ‌هاي ديگه رو!

ULF_VB6
24-07-2008, 14:39
الآن من Long رو به Rgb تبديل مي‌كنم، بعد Rgb رو به Hsi .
ولي براي تشخيص رنگ با استفاده از Hsi نتونستم چيزي پيدا كنم !
اينجا رو ديگه بايد كمك كني.

Smafias
24-07-2008, 17:09
خوب حالا این شد یه چیزی...

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


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

لازم به ذکر است که کد تبدیل HSI ش سریعترین کد توی vb6 برای این کاره که توسط Donald نوشته شده.

دیگه فکر کنم حله! نه؟

اگه مشکلی بود بازهم هستم -- حتما بگو :11:

ULF_VB6
25-07-2008, 23:58
دستت درد نكنه. گل كاشتي.
خير از جوونيت ببيني.