Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   پردازش تصوير(Image Processing) (http://artificial.ir/intelligence/forum67.html)
-   -   نیاز:الگوریتم برای کاهش تعداد رنگهای تصویر (http://artificial.ir/intelligence/thread11588.html)

salamlar ۰۱-۲۹-۱۳۹۲ ۰۷:۴۷ قبل از ظهر

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

مثلا عکسی که 500 نوع رنگ داره رو بازتولید کنم با 50 تا رنگ طوریکه کیفیت زیاد افت نکنه

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

واسه پروژه پایانیم میخوام ضروریه ( هرنوع کمک شما (مثلا اسم الگوریتم و...)خیلی واسم مفیده فایده است پس لطفا کمک کنید)

با تشکر

babak_1234 ۰۱-۲۹-۱۳۹۲ ۰۲:۳۱ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله salamlar (پست 28340)
سلام خدمت تمام اساتید
نیاز به یه الگوریتم دارم که بتونم باهاش تعداد رنگهای موجود در یه تصویر رنگی رو کاهش بدم (یعنی در کل میخوام رنگهای تصویر رو محدود و واقعی سازی کنم مثل نرم افزار های تبدیل عکس به نقشه تابلوفرش کامپیوتری که می خوام بدونم از چه الگوریتم و روشی واسه این کار استفاده می کنن؟؟؟)

مثلا عکسی که 500 نوع رنگ داره رو بازتولید کنم با 50 تا رنگ طوریکه کیفیت زیاد افت نکنه

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

واسه پروژه پایانیم میخوام ضروریه ( هرنوع کمک شما (مثلا اسم الگوریتم و...)خیلی واسم مفیده فایده است پس لطفا کمک کنید)

با تشکر

سلام دوست عزیز

من فکر میکنم ماهیت مسئله مورد نظر شما فشرده سازی با رویکرد با اتلاف (Lossy) هستش. یکی از مناسب ترین روش ها برای این کار استفاده از Vector Quantization هستش که میتونه یک Codebook برای رنگ های شما بوجود بیاره. به طور کلی این مسائل از الگوریتم های clustering مثل K-means برای این کار استفاده میکنن.

موفق باشید.

salamlar ۰۱-۳۰-۱۳۹۲ ۰۹:۳۲ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله babak_1234 (پست 28346)
سلام دوست عزیز

من فکر میکنم ماهیت مسئله مورد نظر شما فشرده سازی با رویکرد با اتلاف (Lossy) هستش. یکی از مناسب ترین روش ها برای این کار استفاده از Vector Quantization هستش که میتونه یک Codebook برای رنگ های شما بوجود بیاره. به طور کلی این مسائل از الگوریتم های clustering مثل K-means برای این کار استفاده میکنن.

موفق باشید.

سلام

مهندس فقط اینکه من می خام اون 50 تا رنگی رو هم که مثال زدم خودم تعیین کنم تا رنگهای مشابه و نزدیک به هر کدوم از این 50 تا رنگ یه جوری (با یهالگوریتم) سریع و بهینه به این رنگهای مشخص شده(که بعنوان الگو هست ) گرد بشه و در تصویر نهایی که میخام چاپش کنم کلا 50 نوع رنگ باشه
بازم دنبال همون الگوریتم clustering مثل K-means بگردم؟؟؟

تشکر

erfan_com ۰۱-۳۱-۱۳۹۲ ۰۸:۱۷ قبل از ظهر

اینا با فیلترهای متوسط گیر به راحتی انجام میشن. مشکل تعیین همون 50 رنگته. باید طوری انتخاب کنی به میانگین رنگهات نزدیک باشه

babak_1234 ۰۱-۳۱-۱۳۹۲ ۰۹:۳۷ قبل از ظهر

نقل قول:

نوشته اصلي بوسيله salamlar (پست 28364)
سلام

مهندس فقط اینکه من می خام اون 50 تا رنگی رو هم که مثال زدم خودم تعیین کنم تا رنگهای مشابه و نزدیک به هر کدوم از این 50 تا رنگ یه جوری (با یهالگوریتم) سریع و بهینه به این رنگهای مشخص شده(که بعنوان الگو هست ) گرد بشه و در تصویر نهایی که میخام چاپش کنم کلا 50 نوع رنگ باشه
بازم دنبال همون الگوریتم clustering مثل K-means بگردم؟؟؟

تشکر

سلام دوست من

اگه میخوای ۵۰ تا رنگ دست خودت باشه پس مشکلی نیست. در واقع این ۵۰ تا نقطه میشه مرکز خوشه ها و شما با یک فاصله مناسب مثل اقلیدسی رنگها رو به مقادیر در نظر گرفته شده گرد میکنی(Quantization).
با الگوریتمی مثل K-means میتونید رنگ ها (مراکز خوشه ها) رو توسط خود الگوریتم تعیین کنید.

موفق باشید.

mahdiii ۰۲-۱-۱۳۹۲ ۱۲:۰۴ قبل از ظهر

منم دقیقا با آقا بابک موافقم. الگوریتم kmeans یک الگوریتم خوشه بندیه. الگوریتم ساده ای هم هست و وقتی کاربرد داره که تو تعداد خوشه ها اینجا تعداد رنگها رو داری و مثلا در این مثال می خوای تصویرو به این تعداد رنگها خوشه بندی کنی. الگوریتمش هست جستجو کن kmeans algorithm in matlab
اصلا تو خود متلب تابعش هست. بازم کمک خواستی بگو.
تعداد مراکز خوشه 50تاست (همون رنگها) که اول تصادفی انتخاب میشن تو بازه بین 0 تا 255 و برای سه رنگ قرمز سبز آبی یعنی فضات سه بعدیه (وکتوره) مثلا یکیش میشه (10و100و12) 50 تا مرکز خوشه داری
و بعد به الگوریتم میدی اون برات برای هر پیکسل رنگهای نهاییشو تعیین می کنه که مثلا رنگهای نزدیک به قرمز و قهوه ای یه مقدار دارن و همین طور بقیه رنگها موفق باشی.

mohammad_1369 ۰۲-۳-۱۳۹۲ ۰۸:۳۶ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله salamlar (پست 28364)
سلام

مهندس فقط اینکه من می خام اون 50 تا رنگی رو هم که مثال زدم خودم تعیین کنم تا رنگهای مشابه و نزدیک به هر کدوم از این 50 تا رنگ یه جوری (با یهالگوریتم) سریع و بهینه به این رنگهای مشخص شده(که بعنوان الگو هست ) گرد بشه و در تصویر نهایی که میخام چاپش کنم کلا 50 نوع رنگ باشه
بازم دنبال همون الگوریتم clustering مثل K-means بگردم؟؟؟

تشکر

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

اما اگه 50 رنگ رو دستی بدی تصویری که درمیاد خیلی زشت میشه و شبیه تصویر اصلی نمیشه
یک راه برای بهبود استفاده از الگوریتم هایی هست که از dithering ایده میگیره
این لینک dithering:
Dithered Images
اما چیزی که شما ممکنه بخواهید استفاده کنید dithering نیست بلکه ایده ای شبیه به اونه


زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۱۰:۱۷ قبل از ظهر ميباشد.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.