**متعادل‌سازی هیستوگرام** (به انگلیسی: Histogram equalization) یا **یکسان‌سازی هیستوگرام** یا **یکسان‌سازی بافت‌نگاشت** روشی در پردازش تصویرِ تنظیم کنتراست با استفاده از بافت‌نگاشت تصویر است.

A histogram which is zero apart from a central area containing strong peaks is transformed by stretching the peaked area to fill the entire x-axis.هیستوگرام یک تصویر قبل و بعد از متعادل‌سازی.

نمای‌کلی
--------

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

اصلاحات این روش از بافت‌نگاشت های متعدد، به نام زیربافت‌نگاشت، برای تاکید (به انگلیسی: emphasize) بر کنتراست محلی، به جای کنتراست کلی سراسری استفاده می کند. نمونه‌هایی از این روش‌ها عبارتند از : یکسان‌سازی بافت‌نگاشت تطبیقی ، *یکسان‌سازی بافت‌نگاشت تطبیقی محدودسازی کنتراست* یا CLAHE ، یکسان‌سازی بافت‌نگاشت چندقله‌ای (MPHE) و یکسان‌سازی دوبافت‌نگاشت بهینهٔ بتای چندمنظوره (MBOBHE). هدف این روش ها، به ویژه MBOBHE، بهبود کنتراست بدون ایجاد تغییرات میانگین روشنایی و کاهش جزئیات با اصلاح الگوریتم HE است. 

به نظر می رسد یک تبدیل سیگنال هم‌ارز یکسان‌سازی بافت‌نگاشت نیز در شبکه های عصبی بیولوژیکی اتفاق می افتد تا نرخ آتش (به انگلیسی: firing rate) خروجیِ نورون را به عنوان تابعی از آمار ورودی به حداکثر برساند. این به ویژه در شبکیه مگس ثابت شده است. 

**پیش بینی پشتی** (یا "پروژه") یک تصویر هیستوگرام شده، اعمال مجدد هیستوگرام اصلاح شده به تصویر اصلی است که به عنوان یک جدول جستجو برای مقادیر روشنایی پیکسل عمل می کند.

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

پیاده‌سازی
----------

یک تصویر گسسته در مقیاس خاکستری {*x*} را در نظر بگیرید و اجازه دهید *ni* تعداد رخدادهای سطح خاکستری *i* باشد. احتمال وقوع یک پیکسل از سطح *i* در تصویر، است

{\displaystyle \ p\_{x}(i)=p(x=i)={\frac {n\_{i}}{n}},\quad 0\leq i<L}
{\displaystyle \ L} تعداد کل سطوح خاکستری در تصویر (معمولاً 256)، *n* تعداد کل پیکسل های تصویر، و {\displaystyle p\_{x}(i)} در واقع هیستوگرام تصویر برای مقدار پیکسل i است که به [0,1] بهنجارشده (به انگلیسی: normalized) است.

اجازه دهید *تابع توزیع تجمعی* مربوط به *i* را نیز تعریف کنیم

{\displaystyle \operatorname {cdf} \_{x}(i)=\sum \_{j=0}^{i}p\_{x}(x=j)} ،
که همچنین هیستوگرام بهنجارشده تجمعی تصویر است.

ما می خواهیم یک تبدیل {\displaystyle \ y=T(x)} برای تولید یک تصویر جدید {*y*}، با هیستوگرام مسطح ایجادکنیم. چنین تصویری یک تابع توزیع تجمعی خطی‌سازی‌شده (CDF) در سراسر محدوده مقدار خواهد داشت، به عنوان مثال

{\displaystyle \operatorname {cdf} \_{y}(i)=(i+1)K} برای {\displaystyle 0\leq i<L}
برای مقداری ثابت {\displaystyle \ K}. ویژگی های CDF به ما امکان می دهد چنین تبدیلی را انجام دهیم (به تابع توزیع معکوس مراجعه کنید). به این ضورت تعریف شده است

{\displaystyle \ y=T(k)=\operatorname {cdf} \_{x}(k)}
در اینجا {\displaystyle \ k} در محدوده {\displaystyle [0,L-1])} است. توجه کنید که {\displaystyle \ T} از آنجایی که از هیستوگرام بهنجارشده {*x*} استفاده کردیم، سطوح را در محدوده [0،1] نگاشت می کند. برای نگاشت (به انگلیسی: map) مقادیر به محدوده اصلی خود، تبدیل ساده زیر باید روی نتیجه اعمال شود:

{\displaystyle \ y^{\prime }=y\cdot (\max\{x\}-\min\{x\})+\min\{x\}=y\cdot (L-1)} .
مشتق دقیق تر در اینجا ارائه شده است.

{\displaystyle \ y} یک مقدار حقیقی است در حالی که{\displaystyle \ y^{\prime }} باید یک عدد صحیح باشد یک روش بصری و محبوب استفاده از عمل گردکردن است:

{\displaystyle \ y^{\prime }=\operatorname {round} (y\cdot (L-1))} .
با این حال، تجزیه و تحلیل دقیق به فرمول اندکی متفاوت منجر می شود. مقدار نگاشت شده {\displaystyle \ y^{\prime }} باید برای محدوده {\displaystyle 0<y\leq 1/L}، 0 باشد. و {\displaystyle \ y^{\prime }=1} برای {\displaystyle 1/L<y\leq 2/L} ، {\displaystyle \ y^{\prime }=2} برای {\displaystyle 2/L<y\leq 3/L} ، .... ، و درنهایت {\displaystyle \ y^{\prime }=L-1} برای {\displaystyle (L-1)/L<y\leq 1}. سپس فرمول کمّی‌سازی از {\displaystyle \ y} به {\displaystyle \ y^{\prime }} باید باشد

{\displaystyle y^{\prime }=\operatorname {ceil} (L\cdot y)-1} .

(توجه داشته باشید: {\displaystyle y^{\prime }=-1} زمانی که {\displaystyle \ y=0} ، با این حال، این اتفاق نمی افتد فقط به این دلیل {\displaystyle \ y=0} به این معنی است که هیچ پیکسلی مطابق با آن مقدار وجود ندارد.)

مثال ها
-------

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

### تصویر کوچک

 زیرتصویر 8×8 در مقیاس خاکستری 8 بیتی نشان داده شده است
تصویر 8 بیتی در مقیاس خاکستری نشان داده شده دارای مقادیر زیر است:

| 52 | 55 | 61 | 59 | 79 | 61 | 76 | 61 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 62 | 59 | 55 | 104 | 94 | 85 | 59 | 71 |
| 63 | 65 | 66 | 113 | 144 | 104 | 63 | 72 |
| 64 | 70 | 70 | 126 | 154 | 109 | 71 | 69 |
| 67 | 73 | 68 | 106 | 122 | 88 | 68 | 68 |
| 68 | 79 | 60 | 70 | 77 | 66 | 58 | 75 |
| 69 | 85 | 64 | 58 | 55 | 61 | 65 | 83 |
| 70 | 87 | 69 | 68 | 65 | 73 | 78 | 90 |

  

</br> هیستوگرام این تصویر در جدول زیر نشان داده شده است. مقادیر پیکسلی که تعداد آنها صفر است به خاطر اختصار مستثنی هستند.

| مقدار | تعداد | مقدار | تعداد | مقدار | تعداد | مقدار | تعداد | مقدار | تعداد |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 52 | 1 | 64 | 2 | 72 | 1 | 85 | 2 | 113 | 1 |
| 55 | 3 | 65 | 3 | 73 | 2 | 87 | 1 | 122 | 1 |
| 58 | 2 | 66 | 2 | 75 | 1 | 88 | 1 | 126 | 1 |
| 59 | 3 | 67 | 1 | 76 | 1 | 90 | 1 | 144 | 1 |
| 60 | 1 | 68 | 5 | 77 | 1 | 94 | 1 | 154 | 1 |
| 61 | 4 | 69 | 3 | 78 | 1 | 104 | 2 |  |
| 62 | 1 | 70 | 4 | 79 | 2 | 106 | 1 |
| 63 | 2 | 71 | 2 | 83 | 1 | 109 | 1 |

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

| v, شدت پیکسل | سی‌دی‌اف(v) | h(v), متعادل‌سازی شده v |
| --- | --- | --- |
| 52 | 1 | 0 |
| 55 | 4 | 12 |
| 58 | 6 | 20 |
| 59 | 9 | 32 |
| 60 | 10 | 36 |
| 61 | 14 | 53 |
| 62 | 15 | 57 |
| 63 | 17 | 65 |
| 64 | 19 | 73 |
| 65 | 22 | 85 |
| 66 | 24 | 93 |
| 67 | 25 | 97 |
| 68 | 30 | 117 |
| 69 | 33 | 130 |
| 70 | 37 | 146 |
| 71 | 39 | 154 |
| 72 | 40 | 158 |
| 73 | 42 | 166 |
| 75 | 43 | 170 |
| 76 | 44 | 174 |
| 77 | 45 | 178 |
| 78 | 46 | 182 |
| 79 | 48 | 190 |
| 83 | 49 | 194 |
| 85 | 51 | 202 |
| 87 | 52 | 206 |
| 88 | 53 | 210 |
| 90 | 54 | 215 |
| 94 | 55 | 219 |
| 104 | 57 | 227 |
| 106 | 58 | 231 |
| 109 | 59 | 235 |
| 113 | 60 | 239 |
| 122 | 61 | 243 |
| 126 | 62 | 247 |
| 144 | 63 | 251 |
| 154 | 64 | 255 |

(لطفا توجه داشته باشید که صورت {\displaystyle h(v)=\operatorname {ceil} (\operatorname {cdf} (v))-1} هنوز نمایش داده نشده است.)

این سی‌دی‌اف نشان می دهد که حداقل مقدار در این زیرتصویر، 52 است و حداکثر مقدار، 154 است. سی‌دی‌اف 64 برای مقدار 154 با این تعداد پیکسل های تصویر منطبق است. سی‌دی‌اف باید به {\displaystyle [0,255]} بهنجار شود. فرمول یکسان‌سازی هیستوگرام کلی به صورت زیر است:

{\displaystyle h(v)=\mathrm {round} \left({\frac {\operatorname {cdf} (v)-\operatorname {cdf} \_{\min }}{(M\times N)-\operatorname {cdf} \_{\min }}}\times (L-1)\right)}
در اینجا cdfmin حداقل مقدار غیر صفر تابع توزیع تجمعی است (در این مورد 1 است)، M × N تعداد پیکسل های تصویر را نشان می دهد (برای مثال بالای 64، جایی که M عرض و N ارتفاع است) و L تعداد سطوح خاکستری استفاده شده (در بیشتر موارد، مانند این، 256) است.

  

</br>*توجه داشته باشید که برای مقیاس‌بندی مقادیر در داده های اصلی که بالاتر از 0 هستند تامحدوده 1 تا L-1 شامل، معادله بالا در عوض به صورت زیر خواهد بود:*

{\displaystyle h(v)=\mathrm {round} \left({\frac {\operatorname {cdf} (v)-\operatorname {cdf} \_{\min }}{(M\times N)-\operatorname {cdf} \_{\min }}}\times (L-2)\right)+1}
*در اینجا cdf(v) > 0.* *مقیاس‌بندی از 1 تا 255، غیرصفر بودن مقدار حداقل را حفظ می کند.*

  

</br>فرمول یکسان‌سازی برای مثال مقیاس داده ها از 0 تا 255، شامل:

{\displaystyle h(v)=\mathrm {round} \left({\frac {\operatorname {cdf} (v)-1}{63}}\times 255\right)}
مثلا سی‌دی‌اف 78، 46 است. (مقدار 78 در ردیف پایین ستون 7 استفاده می شود.) مقدار بهنجارشده تبدیل می شود

{\displaystyle h(78)=\mathrm {round} \left({\frac {46-1}{63}}\times 255\right)=\mathrm {round} \left(0.714286\times 255\right)=182}
هنگامی که این کار انجام شد، مقادیر تصویر متعادل‌سازی‌شده مستقیماً از سی‌دی‌اف بهنجارشده گرفته می شود تا مقادیر برابر شده را به دست آورند:

| 0 | 12 | 53 | 32 | 190 | 53 | 174 | 53 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 57 | 32 | 12 | 227 | 219 | 202 | 32 | 154 |
| 65 | 85 | 93 | 239 | 251 | 227 | 65 | 158 |
| 73 | 146 | 146 | 247 | 255 | 235 | 154 | 130 |
| 97 | 166 | 117 | 231 | 243 | 210 | 117 | 117 |
| 117 | 190 | 36 | 146 | 178 | 93 | 20 | 170 |
| 130 | 202 | 73 | 20 | 12 | 53 | 85 | 194 |
| 146 | 206 | 130 | 117 | 85 | 166 | 182 | 215 |

توجه داشته باشید که حداقل مقدار (52) اکنون 0 و حداکثر مقدار (154) اکنون 255 است.

|  |  |
| --- | --- |
|  |  |
| اصلی | متعادل‌سازی‌شده |

|  |  |
| --- | --- |
|  |  |
| بافت‌نگاشت تصویر اصلی | بافت‌نگاشت تصویر متعادل‌سازی شده |

### تصویر در اندازه کامل

|  |  |
| --- | --- |
|  قبل از یکسان‌سازی بافت‌نگاشت | هیستوگرام مربوطه (قرمز) و هیستوگرام تجمعی (سیاه) |
|  پس از یکسان‌سازی بافت‌نگاشت |  هیستوگرام مربوطه (قرمز) و هیستوگرام تجمعی (سیاه) |

همچنین ببینید
-------------

* تطبیق هیستوگرام
* منعادل‌سازی هیستوگرام تطبیقی
* بهنجارش (پردازش تصویر)

یادداشت
-------

1. ↑  Hum, Yan Chai; Lai, Khin Wee; Mohamad Salim, Maheza Irna (11 October 2014). "Multiobjectives bihistogram equalization for image contrast enhancement". *Complexity*. **20** (2): 22–36. Bibcode:2014Cmplx..20b..22H. doi:10.1002/cplx.21499.
2. ↑  Laughlin, S.B (1981). "A simple coding procedure enhances a neuron's information capacity". *Z. Naturforsch*. 9–10(36):910–2.
3. ↑  Intel Corporation (2001). "Open Source Computer Vision Library Reference Manual" (PDF). Retrieved 2015-01-11. `{{cite journal}}`: Cite journal requires `|journal=` (help)
4. ↑  Gonzalez, Rafael C. (2018). *Digital image processing*. Richard E. Woods (4th ed.). New York, NY: Pearson. pp. 138–140. ISBN 978-1-292-22304-9. OCLC 991765590.

منابع
-----

* Acharya and Ray, *Image Processing: Principles and Applications*, Wiley-Interscience 2005 شابک ‎۰−۴۷۱−۷۱۹۹۸−۶
* Russ, *The Image Processing Handbook: Fourth Edition*, CRC 2002 شابک ‎۰−۸۴۹۳−۲۵۳۲−۳
* "Histogram Equalization" at Generation5 *(archive)*