Can we apply histogram equalization on the HSV image?

4 ビュー (過去 30 日間)
Vishnu R
Vishnu R 2015 年 10 月 27 日
回答済み: Image Analyst 2021 年 9 月 19 日
I have an HSV image.. and i want to apply histogram equalization on this image.. is it possible?

回答 (2 件)

Walter Roberson
Walter Roberson 2015 年 10 月 27 日
Yes, you can apply histogram equalization to any numeric array.

Image Analyst
Image Analyst 2021 年 9 月 19 日
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);

カテゴリ

Help Center および File ExchangeHistograms についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by