Caire یک لایبرری برای تغییر اندازهٔ تصاویر با حفظ ویژگیهای مهم و اصلی تصویر است که بر پایهٔ مقالهٔ آکادمیک Seam Carving for Content-Aware Image Resizing نوشته است.
نحوهٔ کار لایبرری Caire بدین صورت است که در ابتدا یک ماتریس انرژی برای تصویر موجود تعریف میکنیم. متدهای زیادی برای محاسبهٔ انرژی وجود دارند که در این روش از راهبرد Gradient (آن را با نام عملگر Sobel نیز میشناسند) برای محاسبهٔ انرژی پیکسلهای تصویر استفاده شده است. سپس خروجی حاصله مشخصکنندهٔ اطلاعات باارزش تصویر بوده و انرژی پیکسلهای تصویر ورودی در آن مشخص شده است (در اینجا عملگر Sobel به عنوان تشخیصدهندهٔ لبه نیز عمل میکند).
حال که آنتروپی پیکسلهای تصویر مشخص شده است، الگوریتم به دنبال ایجاد مسیرها روی تصویر است. نقطهٔ شروع تمام مسیرها از ابتدای تصویر و سطر اول است و حرکتی رو به پایین دارند و در جهتی مشخص حرکت نخواهند کرد. در ادامه، این الگوریتم برای حرکت به پیکسل بعدی، 3 پیکسل همسایۀ پیکسل جاری را در نظر میگیرد و پیکسلی انتخاب خواهد شد که کمترین میزان آنتروپی را دارا است.
این فرآیند برای تمام ستونهای تصویر ادامه خواهد داشت و نقطهٔ شروع تمام مسیرها سطر اول خواهد بود. برای تمام مسیرها، آنتروپی پیکسلهای موجود در مسیر با هم جمع میشوند و در سطر اول نوشته میشوند (این مقادیر نشاندهندهٔ آنتروپی آن مسیر خاص هستند) و مسیری که پایینترین آنتروپی را دارد، حذف خواهد شد.
حال تصویری داریم که به دو بخش تقسیم شده است؛ قسمت سمت راست را با قسمت سمت چپ ادغام میکنیم یا به بیان ریاضیاتی، پیکسلهای ستون سمت راست برش را یکبهیک در ستون حذف شده کپی میکنیم که خروجی، تصویری با یک ستون کمتر از تصویر اصلی است.
در ادامهٔ کار، مجدداً ماتریس انرژی را برای تصویر حاصله محاسبه میکنیم؛ نتیجه نشان میدهد که تغییر محتوای تصویر موجب تغییر ماتریس انرژی آن شده است. فرآیند حذف مسیرهایی که آنتروپی کمی دارند و تولید ماتریس انرژی تکرار میشود تا زمانی که تصویر به اندازهٔ ابعاد مورد نظر کاهش یابد (در فرآیند افزایش ابعاد تصویر، از همان متدهای کاهش بُعد تصویر استفاده میشود اما به جای حذف مسیرها، آنها را تکرار میکنند یا در راست و چپ آن مسیر کپی میکنند).
ویژگیهای شاخص لایبرری اپنسورس Caire
از جمله ویژگیهای این لایبرری که آن را از سایر راهبردهای اپنسورس موجود متمایز میکند، میتوان موارد زیر را نام برد:
- امکان شخصیسازی از طریق کامندلاین
- پشتیبانی از هر دو متد Shrinking (کاهش ابعاد تصویر) و Enlarging (افزایش ابعاد تصویر)
- امکان تغییر سایز تصویر به صورت افقی و عمودی
- امکان تغییر سایز تمام تصاویر موجود در یک دایرکتوری
- عدم نیاز به دیگر وابستگیها
- فاین تیونینگ پایانی با استفاده از Sobel
- استفاده از فیلتر Blur به منظور تشخیص راحتتر لبههای تصویر