بهینه سازی هیستوگرام با تابع توزیع تجمعی
تابع توزیع تجمعی یا cdn که از واژهی Cumulative distribution function میآید در بحث بهینهسازی هیستوگرام کاربرد خوبی دارد؛ در این نوشته با کمک تابیع توزیع تجمعی تصویر ورودی خود را که یک تصویر تاریک است با بهینهسازی هیستوگرام در متلب روشن و قابل دیدن میکنیم.
بهینه سازی هیستوگرام با تابع توزیع تجمعی
تصویر ورودی ما تصویر زیر می باشد:
کد بهینه سازی هیستوگرام با متلب
clc; close all; clear all; img1 = imread('histogram.jpg'); img2 = img1; pixel_histogram = zeros(1, 256); pixel_cdf = zeros(1, 256); pixel_new_value = zeros(1, 256); for i = 1 : 563 for j = 1 : 1000 pixel_histogram(1, img1(i,j) + 1) = pixel_histogram(1, img1(i,j) + 1) + 1; end end pixel_cdf(1, 1) = pixel_histogram(1, 1); min_cdf = pixel_histogram(1, 1); max_cdf = pixel_histogram(1, 1); for k = 2 : 256 pixel_cdf(1, k) = pixel_cdf(1, k - 1) + pixel_histogram(1, k); if( pixel_cdf(1, k) > max_cdf ) max_cdf = pixel_cdf(1, k); end if( pixel_cdf(1, k) < min_cdf ) min_cdf = pixel_cdf(1, k); end end for k = 1 : 256 pixel_new_value(1, k) = round( ( ( pixel_cdf(1, k) - min_cdf ) / ( max_cdf - min_cdf ) ) * 255 ); end for i = 1 : 563 for j = 1 : 1000 img2(i,j) = pixel_new_value(1, img1(i,j) + 1); end end imshow(img1); figure, imshow(img2);
نتیجه نهایی بهینه سازی هیستوگرام
برای مطالعهی محتوای بیشتر در ارتباط با متلب روی این لینک کلیک کنید. نظرات خود را برای ما بنویسید.
برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]
ارسال پاسخ