پاسخ : حذف Backgrond از تصویر
سلام ..
پیش از اینکه این پست رو بنویسم؛ خیلی کوتاه به یک ایده فکر میکردم که شاید بتونه کمک کنه .. تا حدودی کدش رو هم نوشتم امــا یک سری آزمایش ها باید انجام بشه که فکر نمیکنم زمان بهم این اجازه رو بده .. بنابراین؛ شاید بهتر این باشه که این آزمایش رو انجام بدید و نتایجشون رو بفرمائید تا بتونیم بررسیشون کنیم .. اول اینکه: تمامـا در مورد فضای Gray Scale حرف میزنیم امــا به دلیل نوع چینش (توزیع) رنگی آبجکت ها؛ میتونیم به پردازش رنگی هم فکر کنیم .. برای مثال اطلاعات هر کانال، میتونن کمک کنن به ما تا با ترکیب خطی و یا وزن دار اونها؛ بتونیم به نوعی اطلاعات آبجکت ها رو از سطح زمینه جدا کنیم .. پــس؛ مورد اول اینکه میتونیم بر روی فضای RGB و یا حتی HSL تمرکز کنیم .. دوم اینکه: یک سری آزمایش ها میتونیم انجام بدیم که با توجه به زمینه ی "سـبـز" تصاویر؛ شاید از کانال G بتونیم استفاده های بیشتری کنیم .. خیلی شاید دقیق نباشه از نظر علمی این قسمت امــا میتونیم هیستوگرام (!) رو روی هر کانال بررسی کنیم و ببینیم که به چه صورت این شانس برای ما وجود داره تا اینکه اطلاعات سبز رو که جزو طیف نور (رنگی) خالص هست؛ از اطلاعات رنگی سفید؛ که طیفی مرکب هست (Composite) جدا کنیم و از دایره ی رنگی R G B هم این خاطره رو داریم که مرکز این دایره سفیده؛ یعنی تلفیق هر سه طیف (کانال رنگی) .. سوم اینکه: میتونیم از پردازش های همسایگی (Neighborhood) هم استفاده کنیم؛ برای مثال اگر دو حلقه ی For بنویسیم بر روی تصویر به منظور اسکن کردن پیکسل ها؛ میتونیم بر روی هر پیکسلی که قرار داریم؛ مقادیر پیکسل بالا یا Up؛ قبل یا Left و "بالا و قبل" یا Diagonal رو به دست بیاریم (برای هر سه کانال) و اینها رو از هم کم کنیم (کانال به کانال) و در پایان اعداد به دست آمده رو باهم جمع .. این ایده؛ شبیه کاری هست که معمولا برای محاسبه ی میزان خطا استفاده میشه؛ امــا اینجا ما هرگز چنین نگاهی نداریم .. اعدادی که به دست میان میتونن خیلی Informative باشن (--یا خیلی بدبینانه؛ میتونن هم نباشن! --) و با توجه خاصیت پردازش همسایگی؛ این امکان هست که از اطلاعات اونها به عنوان یه Threshold استفاده کنیم .. (--نمیدونم چقدر واضح توضیح دادم--) .. بعلاوه؛ از یک سری ایده های آنالیز هیستوگرام هم میتونیم استقاده کنیم؛ به این منظور که یک Threshold داینامیک به دست بیاریم و در انتها یه ماتریس تازه از تصویر تعریف کنیم به این صورت که از Threshold به قبل؛ 0 و از Threshold به بعد هم 1 یا 255 .. روش اول خیلی خوب در پیدا کردن Boundary آبجکت ها مفیده و روش دوم در پیدا کردن Shape اونها .. امــا تنها نکته ای که لازم هست در این دو روش به اون فکر کنیم این هست که مفهوم Threshold رو چگونه با عددهای به دست آمده تعریف کنیم (تعیین کنیم/بیان کنیم) .. اینها احتیاج به آزمایش بر روی دسته ای از تصاویر داره و تلفیق چند ایده .. در مورد kernel فیلتر Meidan : اندازه ی 3 تا 4 یک اندازه ی محبوب (!) هست و معمولا برای کاربردهای مختلف میتوینم به اون اعتماد کنیم .. kernel موفولوژی هم به همین ترتیب (معروف به کرنل "+" یا Plus).. مستقل از سایز تصاویر؛ به دلیل محبوبیت و استقبال خوب، از اونها استفاده کردیم .. در مورد عدد 50 در bwareaopen هم این استدلال رو میشه مطرح کرد که هر آبجکت در تصاویر شما؛ حداقل 50 پیکسل رو دارا هست (--جدای از موارد نادر--) .. بنابراین هدف این (به نوعی) کرنل باز هم نویزهای روی تصویر هست .. امید که مطالب این پست بتونن مفید باشن .. پیروز باشید ..
سلام ..
پیش از اینکه این پست رو بنویسم؛ خیلی کوتاه به یک ایده فکر میکردم که شاید بتونه کمک کنه .. تا حدودی کدش رو هم نوشتم امــا یک سری آزمایش ها باید انجام بشه که فکر نمیکنم زمان بهم این اجازه رو بده .. بنابراین؛ شاید بهتر این باشه که این آزمایش رو انجام بدید و نتایجشون رو بفرمائید تا بتونیم بررسیشون کنیم .. اول اینکه: تمامـا در مورد فضای Gray Scale حرف میزنیم امــا به دلیل نوع چینش (توزیع) رنگی آبجکت ها؛ میتونیم به پردازش رنگی هم فکر کنیم .. برای مثال اطلاعات هر کانال، میتونن کمک کنن به ما تا با ترکیب خطی و یا وزن دار اونها؛ بتونیم به نوعی اطلاعات آبجکت ها رو از سطح زمینه جدا کنیم .. پــس؛ مورد اول اینکه میتونیم بر روی فضای RGB و یا حتی HSL تمرکز کنیم .. دوم اینکه: یک سری آزمایش ها میتونیم انجام بدیم که با توجه به زمینه ی "سـبـز" تصاویر؛ شاید از کانال G بتونیم استفاده های بیشتری کنیم .. خیلی شاید دقیق نباشه از نظر علمی این قسمت امــا میتونیم هیستوگرام (!) رو روی هر کانال بررسی کنیم و ببینیم که به چه صورت این شانس برای ما وجود داره تا اینکه اطلاعات سبز رو که جزو طیف نور (رنگی) خالص هست؛ از اطلاعات رنگی سفید؛ که طیفی مرکب هست (Composite) جدا کنیم و از دایره ی رنگی R G B هم این خاطره رو داریم که مرکز این دایره سفیده؛ یعنی تلفیق هر سه طیف (کانال رنگی) .. سوم اینکه: میتونیم از پردازش های همسایگی (Neighborhood) هم استفاده کنیم؛ برای مثال اگر دو حلقه ی For بنویسیم بر روی تصویر به منظور اسکن کردن پیکسل ها؛ میتونیم بر روی هر پیکسلی که قرار داریم؛ مقادیر پیکسل بالا یا Up؛ قبل یا Left و "بالا و قبل" یا Diagonal رو به دست بیاریم (برای هر سه کانال) و اینها رو از هم کم کنیم (کانال به کانال) و در پایان اعداد به دست آمده رو باهم جمع .. این ایده؛ شبیه کاری هست که معمولا برای محاسبه ی میزان خطا استفاده میشه؛ امــا اینجا ما هرگز چنین نگاهی نداریم .. اعدادی که به دست میان میتونن خیلی Informative باشن (--یا خیلی بدبینانه؛ میتونن هم نباشن! --) و با توجه خاصیت پردازش همسایگی؛ این امکان هست که از اطلاعات اونها به عنوان یه Threshold استفاده کنیم .. (--نمیدونم چقدر واضح توضیح دادم--) .. بعلاوه؛ از یک سری ایده های آنالیز هیستوگرام هم میتونیم استقاده کنیم؛ به این منظور که یک Threshold داینامیک به دست بیاریم و در انتها یه ماتریس تازه از تصویر تعریف کنیم به این صورت که از Threshold به قبل؛ 0 و از Threshold به بعد هم 1 یا 255 .. روش اول خیلی خوب در پیدا کردن Boundary آبجکت ها مفیده و روش دوم در پیدا کردن Shape اونها .. امــا تنها نکته ای که لازم هست در این دو روش به اون فکر کنیم این هست که مفهوم Threshold رو چگونه با عددهای به دست آمده تعریف کنیم (تعیین کنیم/بیان کنیم) .. اینها احتیاج به آزمایش بر روی دسته ای از تصاویر داره و تلفیق چند ایده .. در مورد kernel فیلتر Meidan : اندازه ی 3 تا 4 یک اندازه ی محبوب (!) هست و معمولا برای کاربردهای مختلف میتوینم به اون اعتماد کنیم .. kernel موفولوژی هم به همین ترتیب (معروف به کرنل "+" یا Plus).. مستقل از سایز تصاویر؛ به دلیل محبوبیت و استقبال خوب، از اونها استفاده کردیم .. در مورد عدد 50 در bwareaopen هم این استدلال رو میشه مطرح کرد که هر آبجکت در تصاویر شما؛ حداقل 50 پیکسل رو دارا هست (--جدای از موارد نادر--) .. بنابراین هدف این (به نوعی) کرنل باز هم نویزهای روی تصویر هست .. امید که مطالب این پست بتونن مفید باشن .. پیروز باشید ..
دیدگاه