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

هیستوگرام رنگ را می‌توان برای هر نوع فضای رنگی ایجاد کرد، هرچند این لغت بیشتر برای فضاهای سه بعدی مانند RGB یا HSV استفاده می‌شود. برای تصاویر تک رنگ، به جای این لغت ممکن است از **هیستوگرام شدت** استفاده شود. برای تصاویر چند طیفی، که هر پیکسل با تعداد دلخواه اندازه‌گیری (به عنوان مثال، فراتر از سه اندازه‌گیری در RGB) نشان داده شده‌است، هیستوگرام رنگ nبعدی است، وn تعداد اندازه‌گیری‌ها است. هر اندازه‌گیری طول موج محدودهٔ طیف نوری خود را دارد، که بعضی از آنها ممکن است خارج از طیف قابل مشاهده باشند.

اگر مجموعهٔ مقادیر رنگ ممکن به اندازه کافی کوچک باشد، هر یک از این رنگ‌ها می‌تواند در محدوده خود قرار گیرد؛ در این حالت هیستوگرام صرفاً تعداد پیکسل‌هایی است که هر رنگ ممکن را دارند. اغلب این فضا به یک تعداد مناسب از محدوده تقسیم می‌شود، که به عنوان یک شبکه منظم مرتب می‌شوند، که هر یک دارای مقادیر رنگ مشابهی است. هیستوگرام رنگ نیز می‌تواند به عنوان یک تابع خطی در فضای رنگی که شمارش تقریبی پیکسل‌ها را تعیین می‌کند نمایش داده شود.

مانند سایر انواع هیستوگرام، هیستوگرام رنگ نموداری است که می‌تواند به عنوان تقریبی از توزیع پیوسته پایه ای از ارزش رنگ‌ها مشاهده شود.

هیستوگرام‌های رنگی سازه‌های انعطاف‌پذیری هستند که می‌توانند از تصاویر در فضاهای مختلف رنگی، چه RGB , RGرنگی یا هر فضای رنگی دیگری از هر بعد ساخته شوند. هیستوگرام یک تصویر ابتدا به گسسته سازی رنگ‌ها در تصویر به تعدادی شبکه و شمارش تعداد پیکسل‌های تصویر در هر شبکه می‌پردازد. برای مثال، یک هیستوگرام رنگی قرمز آبی را می‌توان با اولین مقادیر پیکسل‌های رنگی توسط تقسیم RGB با R + G + B تشکیل داد و سپس مختصات R و B نرمال شده را به N شبکه تقلیل داد. هیستوگرام دو بعدی رنگی قرمز آبی به چهار شبکه (*N* = ۴) تقسیم می‌شود و ممکن است یک هیستوگرام به شکل زیر نمایش داده شود:

|  |  |
| --- | --- |
|  | سرخ |
| ۰–۶۳ | ۶۴–۱۲۷ | ۱۲۸–۱۹۱ | ۱۹۲–۲۵۵ |
| آبی | ۰–۶۳ | ۴۳ | ۷۸ | ۱۸ | ۰ |
| ۶۴–۱۲۷ | ۴۵ | ۶۷ | ۳۳ | ۲ |
| ۱۲۸–۱۹۱ | ۱۲۷ | ۵۸ | ۲۵ | ۸ |
| ۱۹۲–۲۵۵ | ۱۴۰ | ۴۷ | ۴۷ | ۱۳ |

یک هیستوگرام می‌تواندn بعدی باشد. اگر چه نمایش آن سخت‌تر است، هیستوگرام رنگ سه بعدی برای مثال فوق می‌تواند به عنوان چهار نمودار جداگانه ای از قرمز آبی به کار رود که هر یک از چهار هیستوگرام حاوی مقادیر قرمز آبی برای سبد سبز نیز (۰–۶۳، ۶۴–۱۲۷، ۱۲۸–۱۹۱، و ۱۹۲–۲۵۵) است.

هیستوگرام یک خلاصه مختصر از توزیع داده‌ها در یک تصویر را فراهم می‌کند. هیستوگرام رنگ یک تصویر نسبتاً متناوب با ترجمه و چرخش در مورد محور دید است و تنها با زاویه دید به آرامی تغییر می‌کند. با مقایسه امضای هیستوگرام دو تصویر و مطابقت با محتوای رنگ یک تصویر با دیگر، هیستوگرام رنگ به ویژه برای مشکل تشخیص یک شی از موقعیت ناشناخته و چرخش در یک صحنه مناسب است. مهمتر از همه، ترجمه یک تصویر RGB به فضای رنگی rg-invariant illumination اجازه می‌دهد تا هیستوگرام به خوبی در سطوح مختلف نور عمل کند.

### ۱)هیستوگرام چیست؟

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

### ۲)هیستوگرام رنگ چیست؟

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

ویژگی‌های هیستوگرام رنگ
-----------------------

هیستوگرام رنگ تنها بر نسبت تعداد انواع رنگ‌ها، صرف‌نظر از مکان فضایی رنگ‌ها تمرکز می‌کند. مقادیر هیستوگرام رنگ داده‌های آماری هستند. آن‌ها توزیع آماری رنگ‌ها و تناژ اصلی یک تصویر را نشان می‌دهند.

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

برای هیستوگرام روشنایی، به تنهایی هیچ هیستوگرام کاملی وجود ندارد و هیستوگرام تنها می‌تواند بگوید که آیا تصویر بیش از حد نوردهی شده‌است یا نه. اما در این حال نیز مواقعی وجود دارد که با مشاهدهٔ هیستوگرام رنگ تصور می‌شود نوردهی تصویر بیش از حد است، اما در واقعیت اینگونه نیست.

اصول تشکیل هیستوگرام رنگ
------------------------

تشکیل یک هیستوگرام رنگ بسیار ساده است. از تعریف بالا، می‌توانیم به سادگی تعداد پیکسل‌ها را برای هر ۲۵۶ مقیاس در هر سه کانال RGB شمارش کنیم و آنها را بر روی ۳ نمودار ستونی مجزا قرار دهیم.

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

مراحل به هم پیوستن اصول را می‌توان در مثال ۲ مشاهده کرد.

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

### مثال ۱

تصویر زیر یک گربه (یک نسخه اصلی و یک نسخه که برای آسان ساختن اهداف هیستوگرام به ۲۵۶ رنگ کاهش یافته‌است) را نشان می‌دهد. داده‌های زیر نشان دهنده یک هیستوگرام رنگی در فضای رنگی RGB، با استفاده از چهار سطل (باین) است. باین ۰ مربوط به شدت ۰–۶۳ است، باین ۱ ۶۴–۱۲۷ است، باین ۲ ۱۲۸–۱۹۱ است، و باین ۳ است ۱۹۲–۲۵۵ است.

A picture a catیک عکس از یک گربه
هیستوگرام رنگی تصویر گربه فوق که محور x مقیاس RGB و محور Y فرکانس است.
A picture of a cat that has been reduced to 256 colorsیک عکس از یک گربه که به رنگ ۲۵۶ رنگ در فضای رنگی RGB کاهش یافته‌است

| قرمز | سبز | آبی | تعداد پیکسل‌ها |
| --- | --- | --- | --- |
| ۰ | ۰ | ۰ | ۷۴۱۴ |
| ۰ | ۰ | ۱ | ۲۳۰ |
| ۰ | ۰ | ۲ | ۰ |
| ۰ | ۰ | ۳ | ۰ |
| ۰ | ۱ | ۰ | ۸ |
| ۰ | ۱ | ۱ | ۳۷۲ |
| ۰ | ۱ | ۲ | ۸۸ |
| ۰ | ۱ | ۳ | ۰ |
| ۰ | ۲ | ۰ | ۰ |
| ۰ | ۲ | ۱ | ۰ |
| ۰ | ۲ | ۲ | ۱۰ |
| ۰ | ۲ | ۳ | ۱ |
| ۰ | ۳ | ۰ | ۰ |
| ۰ | ۳ | ۱ | ۰ |
| ۰ | ۳ | ۲ | ۰ |
| ۰ | ۳ | ۳ | ۰ |
| ۱ | ۰ | ۰ | ۸۹۱ |
| ۱ | ۰ | ۱ | ۱۳ |
| ۱ | ۰ | ۲ | ۰ |
| ۱ | ۰ | ۳ | ۰ |
| ۱ | ۱ | ۰ | ۵۹۲ |
| ۱ | ۱ | ۱ | ۳۴۶۲ |
| ۱ | ۱ | ۲ | ۳۵۵ |
| ۱ | ۱ | ۳ | ۰ |
| ۱ | ۲ | ۰ | ۰ |
| ۱ | ۲ | ۱ | ۱۰۱ |
| ۱ | ۲ | ۲ | ۸۸۲ |
| ۱ | ۲ | ۳ | ۱۶ |
| ۱ | ۳ | ۰ | ۰ |
| ۱ | ۳ | ۱ | ۰ |
| ۱ | ۳ | ۲ | ۰ |
| ۱ | ۳ | ۳ | ۰ |
| ۲ | ۰ | ۰ | ۱۱۴۶ |
| ۲ | ۰ | ۱ | ۰ |
| ۲ | ۰ | ۲ | ۰ |
| ۲ | ۰ | ۳ | ۰ |
| ۲ | ۱ | ۰ | ۲۵۵۲ |
| ۲ | ۱ | ۱ | ۹۰۴۰ |
| ۲ | ۱ | ۲ | ۴۷ |
| ۲ | ۱ | ۳ | ۰ |
| ۲ | ۲ | ۰ | ۰ |
| ۲ | ۲ | ۱ | ۸۸۰۸ |
| ۲ | ۲ | ۲ | ۵۳۱۱۰ |
| ۲ | ۲ | ۳ | ۱۱۰۵۳ |
| ۲ | ۳ | ۰ | ۰ |
| ۲ | ۳ | ۱ | ۰ |
| ۲ | ۳ | ۲ | ۱۷۰ |
| ۲ | ۳ | ۳ | ۱۷۵۳۳ |
| ۳ | ۰ | ۰ | ۱۱ |
| ۳ | ۰ | ۱ | ۰ |
| ۳ | ۰ | ۲ | ۰ |
| ۳ | ۰ | ۳ | ۰ |
| ۳ | ۱ | ۰ | ۸۵۶ |
| ۳ | ۱ | ۱ | ۱۳۷۶ |
| ۳ | ۱ | ۲ | ۰ |
| ۳ | ۱ | ۳ | ۰ |
| ۳ | ۲ | ۰ | ۰ |
| ۳ | ۲ | ۱ | ۳۶۵۰ |
| ۳ | ۲ | ۲ | ۶۲۶۰ |
| ۳ | ۲ | ۳ | ۱۰۹ |
| ۳ | ۳ | ۰ | ۰ |
| ۳ | ۳ | ۱ | ۰ |
| ۳ | ۳ | ۲ | ۳۴۱۵ |
| ۳ | ۳ | ۳ | ۵۳۹۲۹ |

### مثال ۲


برنامه در دوربین:

امروزه برخی از دوربین‌ها توانایی نمایش هیستوگرام ۳ رنگه را هنگام عکس گرفتن دارند.

ما می‌توانیم در هر یک از هیستوگرام‌های ۳ رنگهٔ RGB برش هارا (مرزها را در قسمت سیاه یا سفید مقیاس) بررسی کنیم. اگر یک یا چند برش را فقط در یک کانال از ۳ کانال RGB پیدا کنیم، آنگاه جزئیات رنگ آن را از دست می‌دهیم.

برای روشن شدن موضوع، این مثال را در نظر بگیرید:

۱ ما می‌دانیم که هر یک از سه کانال R, G، B دارای طیف وسیعی از مقادیر در بازهٔ ۰–۲۵۵ (۸ بیتی) است؛ بنابراین یک عکس با محدوده روشنایی ۰–۲۵۵ داریم.

۲ فرض کنید عکس ما از ۴ بلوک که در کنار هم قرار گرفته‌اند ساخته شده‌است و ما درجه روشنایی هر یک از ۴ بلوک را ،۱۰، ۱۰۰، ۲۰۵، ۲۴۵ تنظیم می‌کنیم؛ بنابراین، تصویر مانند اولین شکل در سمت چپ خواهد بود.

۳ سپس، تصویر را نور دهی می‌کنیم، با این کار میزان روشنایی هر بلوک به ۱۰ افزایش یافته‌است؛ بنابراین، مقیاس روشنایی برای هر یک از ۴ بلوک جدید عکس ۲۰، ۱۱۰، ۲۱۵، ۲۵۵ است. سپس، تصویر شبیه شکل دوم در سمت چپ است.

تفاوت زیادی بین شکل ۸ و شکل ۹ وجود ندارد، تمام چیزی که ما می‌بینیم این است که کل تصویر روشن می‌شود (کنتراست برای هر یک از بلوک‌ها به همان صورت باقی می‌ماند).

۴ حالا ما دوباره عکس اصلی را نوردهی می‌کنیم، در این صورت میزان روشنایی هر بلوک به ۵۰ افزایش می‌یابد؛ بنابراین، مقیاس روشنایی برای هر یک از ۴ بلوک جدید عکس ۶۰، ۱۵۰، ۲۵۵، ۲۵۵ است. تصویر جدید اکنون به شکل سوم در سمت چپ ظاهر می‌شود.

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

به این نتیجه رسیدیم که هنگام عکس گرفتن با یک دوربین که قرار است هیستوگرام را نمایش دهد، همیشه بالاترین تناژ در تصویر باید زیر حد بالا یعنی ۲۵۵ در هیستوگرام نگه داشته شود تا جزئیات از دست نروند.

نقاط ضعف و بقیهٔ رویکردها
-------------------------

  

نقطه ضعف اصلی هیستوگرام‌ها برای طبقه‌بندی این است که نمایشی وابسته به رنگ جسم مورد مطالعه دارد، و فرم شکل و بافت آن را نادیده می‌گیرد. هیستوگرام‌های رنگی که برای نمایش اطلاعات رنگی به کار می‌روند ممکن است برای دو تصویر با محتوای شیء مختلف یکسان باشد. برعکس، ممکن است تفاوت اشیا با اطلاعات فضایی یا فرمی مختلف، اما رنگ‌های یکسان براساس مقایسه هیستوگرام‌های رنگ، قابل تشخیص نباشد. در نتیجه، هیچ راهی برای تشخیص فنجان قرمز و سفید از یک بشقاب قرمز و سفید وجود ندارد. به بیان دیگر، الگوریتم‌های مبتنی بر هیستوگرام هیچ درکی از مفهوم «فنجان» ندارند که از روی آن یک مدل قرمز و سفید ساخته شده (و با توجه به آن)، یک فنجان آبی و سفید (به عنوان فنجان) تشخیص داده شود. مشکل دیگر این است که هیستوگرام‌های رنگی دارای حساسیت بالا نسبت به تداخل‌های noisy مانند تغییرات شدت نور و اشتباهات کوانتیزایی هستند. ابعاد زیاد (سطلها) در هیستوگرام‌های رنگی نیز یکی دیگر از مسائل هستند. برخی از ویژگی‌های فضایی هیستوگرام رنگ بیش از یک صد بعد را اشغال می‌کنند.

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

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

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

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

ضریب همبستگی نیز ممکن است برای مقایسه هیستوگرام رنگ استفاده شود. نتایج بازیابی با ضریب همبستگی بهتر از سایر معیارهاست.

هیستوگرام شدت داده‌های مداوم
----------------------------

ایده یک هیستوگرام شدت را می‌توان به داده‌های پیوسته (مانند) سیگنال‌های صوتی نشان داده شده توسط توابع حقیقی یا تصاویر نمایش داده شده توسط توابع با دامنه دو بعدی تعمیم داد.

در نظر بگیرید:
{\displaystyle f\in L^{1}(\mathbb {R} ^{n})}

سپس عملگر هیستوگرام تجمعی،H، به شکل زیر تعریف می‌شود:

{\displaystyle H(f)(y)=\mu \{x:f(x)\leq y\}}.
\mu  یک اندازه لبگ از مقادیر است.
{\displaystyle H(f)} در اینجا یک تابع حقیقی است.
بافت نگار (هیستوگرام) غیر تجمعی، به عنوان مشتق آن تعریف می‌شود.

{\displaystyle h(f)=H(f)'}.

منابع
-----

1. ↑   شاپیرو، لیندا G. و استاکمن جورج C. "دیدگاه رایانه" Prentice Hall 2003
2. ↑   Xiang-Yang Wang, Jun-Feng Wu1 و Hong-Ying Yang "بازیابی تصویر قوی براساس هیستوگرام رنگی مناطق مجزای محلی" Springer Netherlands 2009 ISSN 1573-7721
3. ↑  Anatomy of a color histogram; Novak, C.L. ; Shafer, S.A. ; Computer Vision and Pattern Recognition, 1992. Proceedings CVPR '92. , 1992 IEEE Computer Society Conference on 15–18 June 1992 Page(s):599 - 605 doi:10.1109/CVPR.1992.223129
4. ↑   سیستم‌های تصویری و تصویری یکپارچه: بازیابی، تجزیه و تحلیل و فشرده سازی؛ اسمیت، JR؛ دانشکده هنر و علوم انسانی، دانشگاه کلمبیا، 1997
5. ↑   برآورد اثربخشی بازیابی تصویر با هیستوگرام رنگ 2D; Bashkov, EA; Kostyukova, NS؛ مجله اتوماسیون و علوم اطلاعات، 2006 (6) صفحه (بازدید کنندگان): 84-89
6. ↑   بازیابی تصویر بر اساس محتوا با استفاده از همبستگی هیستوگرام رنگ Bashkov, EA; Shozda, NS; Graphicon trial، 2002 صفحه (بازدید کنندگان):  بایگانی‌شده در ۷ ژوئیه ۲۰۱۲ توسط Wayback Machine

* 3D Color Inspector / Color Histogram، توسط کایوو بارتل. (جاوا اپلت رایگان)
* پروژه دانشجویی استنفورد بر روی تصویر برداری بر اساس تصویر - بیشتر در عمق نگاهی به معادلات / نرم‌افزار
* MATLAB / کد اکتاو برای ترسیم هیستوگرام‌های رنگی و ابرهای رنگی - کد منبع را می‌توان به زبان‌های دیگر منتقل کرد