PDA

View Full Version : سوال: پیدا کردن رنگ غالب در یک تصویر



naser_feb8646
یک شنبه 15 دی 1392, 23:54 عصر
سلام دوستان و اساتید محترم
من چطور میتونم توی یک عکس رنگی که بیشتر از همه توی کل تصویر بکار رفته رو پیدا کنم

مثلا در تصویر اول رنگ غالب آبی هست و در تصویر دوم رنگ غالب نارنجی


http://upload.tehran98.com/upme/uploads/e869fed49748be7a1.jpg

http://upload.tehran98.com/upme/uploads/e869ef57b91401a22.jpg

rahnema1
دوشنبه 16 دی 1392, 06:16 صبح
سلام،شما ابتدا باید تصویر را از فضای RGB ببری به فضای HSV بعدش از H یک هیستوگرام تهیه کنی تا مشخص بشه کدوم رنگ بیشترین تکرار را داشته

sagggad
دوشنبه 16 دی 1392, 09:55 صبح
جناب rahnema1 (http://barnamenevis.org/member.php?305905-rahnema1) شما که بلدید میشه یه توضیح کامل راجع به این موضوعات بدید؟؟
یا یک تایپیک ایجاد کنید و به ما مبتدی ها آموزش بدید...
چون من اصلا کار با گرافیک در سی شارپ رو بلد نیستم..
ممنون

ehsan2589040
دوشنبه 16 دی 1392, 12:31 عصر
http://stackoverflow.com/questions/359612/how-to-change-rgb-color-to-hsv

sagggad
دوشنبه 16 دی 1392, 12:35 عصر
سایت فارسی کسی سراغ نداره؟

Hajivandian
دوشنبه 16 دی 1392, 13:57 عصر
سلام،

میشه هم از روش میانگین گرفتن استفاده کنید، البته یه درصدی هم خطا داره.
من قبلا تو یه پروژه از این روش برای جست و جوی تصاویر با استفاده از رنگ غالب استفاده کردم.
http://barnamenevis.org/showthread.php?330885-(%D8%AC%D8%B3%D8%AA%D9%88-%D8%AC%D9%88%DB%8C-%D8%AA%D8%B5%D8%A7%D9%88%DB%8C%D8%B1-%D8%A8%D8%B1-%D8%A7%D8%B3%D8%A7%D8%B3-%D8%B1%D9%86%DA%AF-(-%D8%A2%D9%86%D8%A7%D9%84%DB%8C%D8%B2-%D8%B1%D9%86%DA%AF

naser_feb8646
دوشنبه 16 دی 1392, 14:48 عصر
ممنون از شما
میشه لطف کنید و در مورد روش تبدیل به HSV یه توضیح کامل بدین

rahnema1
دوشنبه 16 دی 1392, 20:01 عصر
ببینید واسه تبدیل rgb به hsv توی خود دات نت متد وجود داره که عبارت است از GetHue و .. اما جهت تبدیل hsv به rgb در دات نت متدی نداریم و از طریق فرمول آن می شه این کار رو انجام داد که من از برنامه آماده در سایت stackoverflow استفاده کردم
یک نکته دیگه اینه که اگه از هیستوگرام hue استفاده کنیم رنگ غالب لزوما اون چیرزی که به چشم میاد نیست مثلا در این عکس نگاه کنید ماکزیمیم در 195 اتفاق می افته یعنی آبی اما طیف نارنجی بیشتر تصویر را پوشانده در نتیجه به نظر می رسه باید از چیزی شبیه کلاسترینگ یا سگمنتیشن استفاده بشه برنامه رو هم گذاشتم تا خودتون امتحان کنید
114965

در ضمن آقا سجاد هر سوالی داری بپرس و مطالعات خودت رو بالا ببر