هیستوگرام تصویر
تبدیلات شدت روشنایی مبتنی بر هیستوگرام تصویر در مواردی مانند بهبود تصویر(Enhancement) ، فشرده سازی (Compression)، بخش بندی (Segmentation) و توصیف تصویر (Description) کاربردهای زیادی دارد.
هیستوگرام تصویر دیجیتالی با L سطح شدت روشنایی در محدوده[0,g] با تابع گسسته زیر تعریف میشود:
که rk برابر k امین سطح روشنایی در محدوده [0 ,g] و nk برابر تعداد پیکسلهایی در تصویر است که شدت روشنایی آنها برابر nk است.
برای یک تصویر در کلاس uint8 ، L=256 ، G=L-1=255 معادل سطح روشنایی0 ( اندیس از صفر شروع نمیشود) و R256 متناظر با سطح روشنایی 256 است.
اغلب استفاده از هیستوگرام نرمالیزه مفید خواهد بود که با تقسیم hk بر تعداد کل پیکسلهای تصویر (n) به دست می آید.
كد:
p(r_k )= (h(r_k))/n= n_k/n
این تابع در واقع احتمال قوع هر سطح شدت روشنایی رادر تصویر نشان میدهد.
تابع imhist برای نمایش هیستوگرام تصویر با فرمت زیر استفاده می شود:
کد:
bتقسیم بازه شدت روشنایی را تعیین میکند. برای کلاس uint8 اگر b=2 باشد پیکسلهای بازه [0 127] و [128 255] در نظر گرفته میشوند. اگر b در تابع آورده نشود پیش فرض آن 256 است .
هیستوگرام نرمالیزه با رابطه زیر به دست می آید:
کد:
كد:
p=imhist(f,b)/numel(f)
تابع numel تعداد پیکسلهای تصویر (تعداد مولفه های ماتریس ) را مشخص می کند.
ساده ترین روش برای رسم هیستوگرام به صورت زیر است:
کد:
روشهای دیگری نیز برای نمایش هیستوگرام وجود دارد.
کد:
كد:
f= imread('rice.png');
h=imhist(f);
figure(1);imhist(f)
figure(2);bar(h)
ف.یلتر کردن مکانی (Spatial Filtering)
ف.یلتر کردن مکانی یا پردازش همسایگی (neighborhood processing) شامل مراحل زیر است:
1. تعریف همسایگی به مرکز نقطه (x,y)
2. اعمال یک اپراتتور به پیکسلهای محصور در همسایگی نقطه (x,y)
3. در نظر گرفتن نتیجه اپراتور به عنوان پاسخ در نقطه (x,y)
4. تکرار پردازش برای تمام نقاط تصویر
اگر محاسبات انجام شده برای نقاط همسایگی خطی باشد، این عملیات را ف.یلتر کردن مکانی خطی (Linear spatial filtering) یا کانولوشن مکانی (spatial convolution) نامیده میشود. در غیر این صورت ف.یلتر کردن مکانی غیر خطی (Non-Linear spatial filtering) نامیده میشود.
-------------------------------------------