تالار گفتمان مانشت

نسخه‌ی کامل: نحوه پیدا کردن تفاوت بین دو تصویر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
ممنون میشم اگه کسی میتونه در خصوص مورد زیر کمکم کنه.

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

مورد دیگه اینکه فرض کنید از در پی عکاسی های متوالی فرض کنید لکه هایی حالا در این عکس ما که بصورت رندوم ممکنه در هرجای تصویر باشه و یا از هر رنگی باشه ، بوجود بیاد حالا می خوایم این تصویر دارای لکه رو با اون نمونه عکس اصلی مقایسه کنیم و اندازه اون لکه و رنگ اش رو هم مشخص کنیم.

ممنون میشم حداقل روال کلی و یا اینکه چه روشی رو باید دنبال کنم تا به جواب برسم رو واسم توضیح بدین
خیلی خیلی ممنون از وقتی که میزاین
برای قسمت اول به نظر من شما اول دو تصویر رو از فضای RGB به CMYK تبدیل کنین. بعدش برای تعیین تفاوت یک مولفه رنگ، تنها کافیه مولفه های C،M،Y و K را به صورت متناظر در دو تصور از هم کم کنید و ببینید در کدوم مولفه بیشترین تفاوت هست.
مثلا یک پیکسل دارای مقادیر 1,3,10,20 و پیکسل متناظر دارای مقادیر 19,2,11,20 که معلومه 19 و 1 بیشترین اختلاف رو دارن پس این مولفه تغییر کرده.
برای قسمت دوم هم برای پیدا کردن لکه ها، کافیه دو تصویر رو از هم کم کنید. چون در تصویر اول لکه ای نبوده و در تصویر دوم لکه وجود داشته با تفاضل می تونید اونهارو تعیین کنید و البته بعدش آستانه گیری لازمه. دقت کنید دو تصویر باید کاملا مثل هم باشند و فقط لکه ها در یک تصویر وجود داشته باشد و در تصویر دیگر نباشد تا این روش جواب دهد.
خیلی ممنون از جوابی که دادین.
یه مشکلی ممکن هست پیش بیاد اینه که وقتی تصویر دومی هم دارای تغییرات شید رنگی و هم دارای لکه های رنگی باشه حالا باید چکار کرد؟
به نظرم اول باید تصاویر رو نرمالیزه کنیم و بعد عمل تفریق رو انجام بدیم. چون اگه این کار رو نکنین تفریق تصویر بهتون لکه ها رو نمیده. برای این کار هم روشهای مختلفی هست.
شما فرض کنین دو تصویر کاملا یکسان دارین که تنها تفاوتشون در اینه که مثلا مولفه اول برای تمام پیکسلها در تصویر اول دو برابر مولفه اول برای تمام پیکسلها در تصویر دومه. خوب کاری که می تونین بکنین اینه که این عددو به دست بیارین(2) که این کارم می تونین به صورت میانگین انجام بدین یعنی مولفه های تک تک پیکسلها رو به صورت متناظر بر هم تقسیم کنین و عددایی که به دست میارینو ازش میانگین بگیرین تا دو به دست بیاد.
اما اگه دو تصویر کاملا یکسان نباشند مثل اینجا که تو یکی لکه هست و دیگری نیست. اگه تعداد لکه ها کم باشه و دو تصویر با هم فرق زیادی نکنن بازم با میانگین گرفتن تفاوت پیکسلها می تونین اون ضریب ثابت رو به دست بیارین.
ای کاش بگین این تغییر شدت روشنایی به چه صورته؟ یکنواخته یا غیر یکنواخت. یعنی برای یه پیکسل m* باید بکنیم تا پیکسل متناظرش تو تصویر دوم به دست بیاد و برای پیکسل دیگه n* یا همه تحت یه تغییر هستند مثلا همه n* . اصلا ما اطلاعی از این تبدیل داریم که ضربیه یا جمعی یا مدلهای دیگه.
یه راه هم برای نرمالیزه کردن اینه که تک تک پیکسلها رو از میانگینشون کم و بر انحراف از معیارشون تقسیم کنیم.
مقاله برای نرمالیزه کردن تصاویر زیاده و هر کدوم با روشی این کارو می کنن که بعضیاشم ساده نیستن. اینایی که من گفتم ساده تریناشن. اگه عکسارو بگذارین بیشتر میشه روش بحث کرد.
دوربین عکس هایی با رزولوشن بالا رو میگیره و شید رنگی بصورت آهسته در طول زمان و با تغییر یکنواخت در تصویر مورد نظر تغییر می کنه. مثلا ممکنه در بین ۱۰۰ عکسی که گرفته میشه با یک تناسب ، کل تصویر مرجع در یکی تا همه چهار رنگ اصلی افزایش یا کاهش پیدا کنه .

یه مثال ساده اش که به ذهنم میرسه می تونه این باشه:
مثلا یک پرینتر چهار رنگ رو در نظر بگیرین که در حال چاپ هست و قراره ۱۰۰ عکس رو چاپ کنه که یکی از عکس ها بعنوان شاهد رنگی هست ممکنه عکسهایی که در حال چاپ اش هست رو فرض بگیرین یکی از عکس ها سایان اش زیاد بشه یا یکی مجنتاش و یا در هنگام چاپ اش فرض بگیریم لکه ای از رنگ ها هم ممکنه روی پرینت اش بریزه و ... . حالا یه اسکنر گذاشتیم و عکس ها رو دونه به دونه اسکن می کنیم. می خوایم ببینیم که این عکسها به چه میزان تغییر رنگ دارن یا اینکه در کجا های تصاویر لکه داریم.
ممنون از راهنمایی شما
لینک مرجع