Can we apply histogram equalization on the HSV image?

18 visualizaciones (últimos 30 días)
Vishnu R
Vishnu R el 27 de Oct. de 2015
Respondida: Image Analyst el 19 de Sept. de 2021
I have an HSV image.. and i want to apply histogram equalization on this image.. is it possible?

Respuestas (2)

Walter Roberson
Walter Roberson el 27 de Oct. de 2015
Yes, you can apply histogram equalization to any numeric array.

Image Analyst
Image Analyst el 19 de Sept. de 2021
Yes, though the results might look pretty strange unless you applied it to only the V channel, like this:
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 15;
fprintf('Beginning to run %s.m ...\n', mfilename);
rgbImage = imread('peppers.png');
subplot(2, 1, 1);
imshow(rgbImage);
impixelinfo; % Show RGB as you mouse over image.
title('Original RGB Image', 'FontSize', fontSize);
% Convert to HSV color space.
hsvImage = rgb2hsv(rgbImage);
% Do histogram equalization on only the V channel.
newV = histeq(hsvImage(:, :, 3));
hsvImage(:, :, 3) = newV;
% Convert back to RGB color space.
newRGBImage = hsv2rgb(hsvImage);
subplot(2, 1, 2);
imshow(newRGBImage);
impixelinfo; % Show RGB as you mouse over image.
title('New RGB Image', 'FontSize', fontSize);
g = gcf;
g.WindowState = 'maximized';
fprintf('Done running %s.m.\n', mfilename);

Categorías

Más información sobre Histograms en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by