Documente Academic
Documente Profesional
Documente Cultură
to how they are captured and how we perceive them. First, a little background info.
Sensor and mosaic: In a typical sensor, white lights are filtered into RGB
components and captured by individual sensor cells. Each cell captures only one of
the 3 primary light colors. A typical grid pattern contains 50% green, 25% red and
25% blue cells with green occupying two diagonal spots in a 2x2 group.
Color space: We all know about the RGB channels, you are probably familiar with
hus, sat, value (HSV) color space. The fact is, the color space can be transformed into
any number of orientation given 3 relatively orthogonal axis. One interesting color
space is YCbCr used in TV transmission. Similar to lab color, the color space is
specified in luminance, blue and red components. The interesting thing is, human
vision perception has twice the acuity in luminance vs. color. TV transmission takes
advantage of this characteristic and pack twice the luma resolution than chroma.
Why are there more green than red and blue in a sensor? Because green is most
representative (closest to the orientation) of luma, it serves as a stand-in for luma
channel. In fact, luma is a mix of about 60% green, 30% red and 10% blue.
We know luminance contain twice the spatial resolution. It is the main contributor
to sharpness. We know chrominance is lower resolution, it can tolerate more low
pass filtering (read blurring). We also know blue sensors is less dense, and must be
boosted because it has the lowest input level. Therefore blue channel tend to be the
noisiest.
One way to tackle noise is to isolate the noise source and filter only the necessary
channel with the appropriate amount. Examine individual RGB channels, and see if
blue channel contributes most of the noise. Convert to lab color and see if luma
channel is noisy. Perhaps filter more aggressively in chroma instead of luma
channels. That’s the underlying approach, but in practice, lightroom color noise
slider does a decent job.
Chrominance (chroma or C for short) is the signal used in video systems to convey
the color information of the picture, separately from the accompanying luma signal (or Y for
short). Chrominance is usually represented as two color-difference components: U = B′ − Y′
(blue − luma) and V = R′ − Y′ (red − luma). Each of these difference components may have
scale factors and offsets applied to it, as specified by the applicable video standard.
In composite video signals, the U and V signals modulate a color subcarrier signal, and the
result is referred to as the chrominance signal; the phase and amplitude of this modulated
chrominance signal correspond approximately to the hue and saturation of the color. In
digital-video and still-image color spaces such as Y′CbCr, the luma and chrominance
components are digital sample values.
Separating RGB color signals into luma and chrominance allows the bandwidth of each to
be determined separately. Typically, the chrominance bandwidth is reduced in analog
composite video by reducing the bandwidth of a modulated color subcarrier, and in digital
systems by chroma subsampling.
Contents
1History
2Television standards
3Digital systems
4See also
5References
History[edit]
The idea of transmitting a color television signal with distinct luma and chrominance
components originated with Georges Valensi, who patented the idea in 1938.[1] Valensi's
patent application described:
The use of two channels, one transmitting the predominating color (signal T), and the other
the mean brilliance (signal t) output from a single television transmitter to be received not
only by color television receivers provided with the necessary more expensive equipment,
but also by the ordinary type of television receiver which is more numerous and less
expensive and which reproduces the pictures in black and white only.
Previous schemes for color television systems, which were incompatible with existing
monochrome receivers, transmitted RGB signals in various ways.
Television standards[edit]
In analog television, chrominance is encoded into a video signal using
a subcarrier frequency. Depending on the video standard, the chrominance subcarrier may
be either quadrature-amplitude-modulated (NTSC and PAL) or frequency-
modulated (SECAM).
In the PAL system, the color subcarrier is 4.43 MHz above the video carrier, while in the
NTSC system it is 3.58 MHz above the video carrier. The NTSC and PAL standards are the
most commonly used, although there are other video standards that employ different
subcarrier frequencies. For example, PAL-M (Brazil) uses a 3.58 MHz subcarrier,
and SECAMuses two different frequencies, 4.250 MHz and 4.40625 MHz above the video
carrier.
The presence of chrominance in a video signal is indicated by a color burst signal
transmitted on the back porch, just after horizontal synchronization and before each line of
video starts. If the color burst signal were visible on a television screen, it would appear as a
vertical strip of a very dark olive color. In NTSC and PAL, hue is represented by a phase
shiftof the chrominance signal relative to the color burst, while saturation is determined by
the amplitude of the subcarrier. In SECAM (R′ − Y′) and (B′ − Y′) signals are transmitted
alternately and phase does not matter.
Chrominance is represented by the U-V color plane in PAL and SECAM video signals, and
by the I-Q color plane in NTSC.
Digital systems[edit]
Digital video and digital still photography systems sometimes use a luma/chroma
decomposition for improved compression. For example, when an ordinary RGB digital
image is compressed via the JPEG standard, the RGB colorspace is first converted (by a
rotation matrix) to a YCbCr colorspace, because the three components in that space have
less correlation redundancy and because the chrominance components can then be
subsampled by a factor of 2 or 4 to further compress the image. On decompression, the
Y′CbCr space is rotated back to RGB.
YCbCr
One of two primary color spaces used to represent digital component video (the other is
RGB). The difference between YCbCr and RGB is that YCbCr represents color as
brightness and two color difference signals, while RGB represents color as red, green and
blue. In YCbCr, the Y is the brightness (luma), Cb is blue minus luma (B-Y) and Cr is red
minus luma (R-Y). See component video.
YCbCr Is Digital
MPEG compression, which is used in DVDs, digital TV and Video CDs, is coded in YCbCr,
and digital camcorders (MiniDV, DV, Digital Betacam, etc.) output YCbCr over a digital link
such as FireWire or SDI. The ITU-R BT.601 international standard for digital video defines
both YCbCr and RGB color spaces. See chroma subsampling.
YPbPr Is Analog
YPbPr is the analog counterpart of YCbCr. It uses three cables for connection, whereas
YCbCr uses only a single cable (see YPbPr). See YUV, YUV/RGB conversion
formulas and ITU-R BT.601.
1 Introduction
Color images, video images, medical images obtained by
multiple scanners, and multispectral satellite images consist
of multiple image frames or channels (Fig. 1). These image
channels depict the same scene or object observed either by
different sensors or at different times, and thus have
substantial commonality among them. We use the
term multichannel image to refer to any collection of image
channels which are not identical, but exhibit strong between-
channel correlations.
Steps to be performed:
4. Update the Intensity Matrix from the HSI Image matrix with the histogram equalized Intensity matrix
MATLAB CODE:
I = imread('football.jpg');
%CONVERT THE RGB IMAGE INTO HSV IMAGE FORMAT
HSV = rgb2hsv(I);
%https://www.imageeprocessing.com/2013/05/converting-rgb-image-to-hsi.html
Heq = histeq(HSV(:,:,3));
%https://www.imageeprocessing.com/2011/04/matlab-code-histogram-equalization.html
HSV_mod = HSV;
HSV_mod(:,:,3) = Heq;
RGB = hsv2rgb(HSV_mod);
%https://www.imageeprocessing.com/2013/06/convert-hsi-image-to-rgb-image.html
EXPLANATION:
RGB image matrix is converted into HSI(Hue ,Saturation and Intensity) format and histogram
equalization is applied only on the Intensity matrix . The Hue and Saturation matrix remains the same.
The updated HSI image matrix is converted back to RGB image matrix.
%http://angeljohnsy.blogspot.com/2011/06/histogram-of-image.html
figure,subplot(1,2,1),bar(HIST_IN);colormap(mymap);legend('RED
CHANNEL','GREEN CHANNEL','BLUE CHANNEL');title('Before Applying Histogram
Equalization');
subplot(1,2,2),bar(HIST_OUT);colormap(mymap);legend('RED
CHANNEL','GREEN CHANNEL','BLUE CHANNEL');title('After Applying Histogram
Equalization');
EXPLANATION:
Define the colormap ‘mymap’ with three colors namely Red, Green and Blue.
Display the histograms of the components before and after histogram equalization.
NOTE:
Histogram of the above image by processing the components independently gives bad result.
Your Reactions:
2 comments:
Unknown said...
Unknown said...
how can I do a histogram equalization on each channel and get the same results as shown
above, but without using the inbuilt matlab functions
September 8, 2017 at 2:45 AM
FOLLOW US
Search This Blog
Search
Python is a high level programming language which has easy to code syntax and offers packages for wide range of applications including nu...
Subscribe Now:
Subscribe in a reader
TAGS
Removing Image noise GUI Components in MATLAB Image Conversion Edge detectionPhotoshop effects in
MATLAB MATLAB BUILT_IN FUNCTIONSMorphological Image ProcessingVideo Processing Array functions in MATLAB Files Histogram
equalization Image CompressionObject Identification Optical illusion Shapes Templates Image Geometry Image Arithmetic
Followers
Today's Popular Posts
Face Detection - MATLAB CODE
Lets see how to detect face, nose, mouth and eyes using the MATLAB built-in class
and function. Based on...
Sobel edge detection
The gradient of the image is calculated for each pixel position in the image. The procedure and ...
Matlab code: Histogram equalization without using histeq function
It is the re-distribution of gray level values uniformly. Let’s consider a 2 dimensional image
which has values rangin...
Converting RGB Image to HSI
Converting RGB Image to HSI H stands for Hue, S for Saturation and I for Intensity. MATLAB CODE: Read
a RGB Image ...
Gaussian Filter without using the MATLAB built_in function
Gaussian Filter Gaussian Filter is used to blur the image. It is used to reduce the noise and the image
details. ...