آستانه گذاری هیستوگرام متقارن

آستانه گذاری هیستوگرام متقارن[۱] (به انگلیسی: Balanced histogram thresholding) (اختصاری BHT)، روشی بسیار ساده در پردازش تصویر به منظور آستانه گذاری اتوماتیک تصاویر می باشد. این روش همانند روش ‎Otsu [۲] ‎ و روش انتخاب آستانه مرحله به مرحله ‎ (Iterative Selection Thesholding Method) [۳] ‎ حد آستانه ای بر اساس هیستوگرام تصاویر استخراج می کند. نحوه عملکرد روش های آستانه گذاری تصاویر بدین صورت است که تصویر به دو کلاس اصلی پس زمینه و پیش زمینه فرض می گردد و روش سعی در یافتن بهترین آستانه برای تقسیم هیستوگرام به دو کلاس می باشد.

روش آستانه گذاری متقارن بدین صورت عمل می کند که هیستوگرام تصویر را از وسط به دو نیم مانند یک ترازو تقسیم کرده و بخش سنگین تر (سمت راست یا چپ) را پیدا می کند. آنگاه از انتهای قسمت سنگین تر آخرین هیستوگرام بار را حذف می نماید. سپس دوباره هیستوگرام از میان به دو قسمت مساوی تقسیم می‌شود و این عمل همچنان ادامه پیدا می کند. این عمل تا زمانی که دو لبه تراوز به یکدیگر برسند اجرا خواهد شد. نحوه عملکرد روش در شکل زیر نمایش داده شده است.

این روش اخیراً در بسیاری از رویکردهای آستانه گذاری خودکار تصاویر به عنوان روشی ساده و مطلوب مطرح گردیده است.

الگوریتم

لیست کد ذیل در زبان C الگوریتم کلی روش آستانه گذاری هیستوگرام متقارن را نشان می دهد.این روش ممکن است در تصاویر بسیار نویزی مشکلاتی داشته باشد. این مشکل می‌تواند با در نظر نگرفتن دو انتهای هیستوگرام کمتر گردد.[۴]

    int BHThreshold(int[] histogram) {        i_m = (int)((i_s + i_e) / 2.0f); // مرکز وزن گيري I_m        w_l = get_weight(i_s, i_m + 1, histogram); // وزن سمت چپ W_l        w_r = get_weight(i_m + 1, i_e + 1, histogram); // وزن سمت راست W_r        while (i_s <= i_e) {            if (w_r > w_l) { // سمت راست سنگين تر است                w_r -= histogram[i_e--];                if (((i_s + i_e) / 2) < i_m) {                    w_r += histogram[i_m];                    w_l -= histogram[i_m--];                }            } else if (w_l >= w_r) { // سمت چپ سنگين تر است                w_l -= histogram[i_s++];                 if (((i_s + i_e) / 2) > i_m) {                    w_l += histogram[i_m + 1];                    w_r -= histogram[i_m + 1];                    i_m++;                }            }        }        return i_m;    }

نگارخانه

منابع

پیوند به بیرون

جستارهای وابسته