PDA

View Full Version : تغییر رنگ تصویر از آبی به سبز؟



mbshareat
دوشنبه 12 تیر 1391, 17:34 عصر
سلام علیکم
ببخشید من تا چند روز پیش نمی دونستم چنین بخشی هم وجود داره، بنابراین نمی دونم این سوال رو اینجا میشه پرسید یا نه؟
خیلی پیش تو تالار مباحث عمومی دلفی در مورد Colorize سوال داشتم.
من نیاز به کدی داشتم که رنگ تصویر رو مثل وقتی که توی فتوشاپ با Image\Adjustment\Hue/Saturation کار می کنیم تغییر بدم.
مشکل من اینه که بدست آوردن تصویر با ته رنگ سبز برام خیلی سخته و معمولا نتیجه ای که با استفاده از این پنجره بدست میاد به نظر من از نظر روشنایی معادل تصویر اولیه نیست.
فرض کنین یه دکمه قرمز یا آبی دارین میخواین سبزش رو داشته باشین. آیا برنامه ای هست که بتونه این کار رو به راحتی انجام بده؟
جناب ساتکی ظاهرا قبلا شما بودین که تو بخش دلفی تو بحث شرکت کردین. اگه ممکنه کد دلفی سراغ دارین برام بذارین!
این تصویر رو چطور سبز کنم؟

مصطفی ساتکی
چهارشنبه 21 تیر 1391, 00:01 صبح
سلام


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

اگر میخاید به صحت این کار پی ببرید کانال intensity این 2 تصویر رو با هم مقایسه کنید اگر difference وجود نداشته باشه برابر که اگر توی نرم افزار فتوشاپ فقط hue را تغییر بدید مطمئناً مقدار intensity را تغییر نمیده که به نظر من شما این تغییر را چشمی احساس می کنید بعلت خطای دید باشه.



فرض کنین یه دکمه قرمز یا آبی دارین میخواین سبزش رو داشته باشین. آیا برنامه ای هست که بتونه این کار رو به راحتی انجام بده؟

برنامه خاصی نیاز ندارید شما می تونید خدتون یک تابع split بنویسید که کارش بدین صورت باشه که یک تصویر BGR رو دریافت کنه و سه تا تصویر B ,G,R رو برگردونه در تصاویر رنگی وقتی به صورت bitmap دیکود میشه در کلاس tbitmap این تصاویر به صورت interleaved هستند یعنی به صورت BGRBGR تا انتها دخیره شدند شما به ترتیب مجموعه به B ها را در تصویر Blue و مجموعه G ها را در تصویر green و مجموعه R ها را در تصویر Red که همگی اینها grayScale هستند بریزید حالا وقتی تصویر green رو نشان بدید یعنی کانال سبز تصویر را نشان دادید برای کاهش میزان رنگ سبز توی همین تصویر green مقادیر سطوح خاکستری رو کاهش بدید دوباره 3 تصویر مورد نظر را در یک تصویر BGR ادغام کنید



این تصویر رو چطور سبز کنم؟


2 راه وجود داره یا مثل توضیحاتی که در بالا براتون ذکر کردم شدت نور را به صورت یکنواخت در کانال سبز افزایش بدید و یا اینکه تصویر رو به فضای HSI برده و Hue خودتون رو به رنگ سبز تغییر بدید که رنگ سبز در بازه [45,90] هستش