Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Digital image processing
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Applications== {{further|Digital imaging|Applications of computer vision}} ===Digital camera images=== Digital cameras generally include specialized digital image processing hardware β either dedicated chips or added circuitry on other chips β to convert the raw data from their [[image sensor]] into a [[color correction|color-corrected]] image in a standard [[Image file formats|image file format]]. Additional post processing techniques increase edge sharpness or color saturation to create more naturally looking images. ===Film=== ''[[Westworld (film)|Westworld]]'' (1973) was the first feature film to use the digital image processing to [[pixellate]] photography to simulate an android's point of view.<ref>[http://www.beanblossom.in.us/larryy/cgi.html A Brief, Early History of Computer Graphics in Film] {{webarchive |url=https://web.archive.org/web/20120717074134/http://www.beanblossom.in.us/larryy/cgi.html |date=17 July 2012 }}, [[Larry Yaeger]], 16 August 2002 (last update), retrieved 24 March 2010</ref> Image processing is also vastly used to produce the [[chroma key]] effect that replaces the background of actors with natural or artistic scenery. ===Face detection=== [[File:Face detection process V1.jpg|thumb|Face detection process]] [[Face detection]] can be implemented with [[mathematical morphology]], the [[discrete cosine transform]] (DCT), and horizontal [[projection (mathematics)|projection]]. '''General method with feature-based method''' The feature-based method of face detection is using skin tone, edge detection, face shape, and feature of a face (like eyes, mouth, etc.) to achieve face detection. The skin tone, face shape, and all the unique elements that only the human face have can be described as features. '''Process explanation''' # Given a batch of face images, first, extract the skin tone range by sampling face images. The skin tone range is just a skin filter. ## [[Structural similarity]] index measure (SSIM) can be applied to compare images in terms of extracting the skin tone. ## Normally, HSV or RGB color spaces are suitable for the skin filter. E.g. HSV mode, the skin tone range is [0,48,50] ~ [20,255,255] # After filtering images with skin tone, to get the face edge, morphology and DCT are used to remove noise and fill up missing skin areas. ## Opening method or closing method can be used to achieve filling up missing skin. ## DCT is to avoid the object with skin-like tone. Since human faces always have higher texture. ## Sobel operator or other operators can be applied to detect face edge. # To position human features like eyes, using the projection and find the peak of the histogram of projection help to get the detail feature like mouth, hair, and lip. ## Projection is just projecting the image to see the high frequency which is usually the feature position. ===Improvement of image quality method=== Image quality can be influenced by camera vibration, over-exposure, gray level distribution too centralized, and noise, etc. For example, noise problem can be solved by [[smoothing]] method while gray level distribution problem can be improved by [[histogram equalization]]. '''[[Smoothing]] method''' In drawing, if there is some dissatisfied color, taking some color around dissatisfied color and averaging them. This is an easy way to think of Smoothing method. Smoothing method can be implemented with mask and [[convolution]]. Take the small image and mask for instance as below. image is <math> \begin{bmatrix} 2 & 5 & 6 & 5\\ 3 & 1 & 4 & 6 \\ 1 & 28 & 30 & 2 \\ 7 & 3 & 2 & 2 \end{bmatrix} </math> mask is <math> \begin{bmatrix} 1/9 & 1/9 & 1/9 \\ 1/9 & 1/9 & 1/9 \\ 1/9 & 1/9 & 1/9 \end{bmatrix} </math> After convolution and smoothing, image is <math> \begin{bmatrix} 2 & 5 & 6 & 5\\ 3 & 9 & 10 & 6 \\ 1 & 9 & 9 & 2 \\ 7 & 3 & 2 & 2 \end{bmatrix} </math> Observing image[1, 1], image[1, 2], image[2, 1], and image[2, 2]. The original image pixel is 1, 4, 28, 30. After smoothing mask, the pixel becomes 9, 10, 9, 9 respectively. new image[1, 1] = <math>\tfrac{1}{9}</math> * (image[0,0]+image[0,1]+image[0,2]+image[1,0]+image[1,1]+image[1,2]+image[2,0]+image[2,1]+image[2,2]) new image[1, 1] = floor(<math>\tfrac{1}{9}</math> * (2+5+6+3+1+4+1+28+30)) = 9 new image[1, 2] = floor({<math>\tfrac{1}{9}</math> * (5+6+5+1+4+6+28+30+2)) = 10 new image[2, 1] = floor(<math>\tfrac{1}{9}</math> * (3+1+4+1+28+30+7+3+2)) = 9 new image[2, 2] = floor(<math>\tfrac{1}{9}</math> * (1+4+6+28+30+2+3+2+2)) = 9 '''Gray Level Histogram method''' Generally, given a gray level histogram from an image as below. Changing the histogram to uniform distribution from an image is usually what we called [[histogram equalization]]. [[File:Gray level histogram.jpg|thumb|Figure 1]] [[File:Uniform distribution.jpg|thumb|Figure 2]] In discrete time, the area of gray level histogram is <math>\sum_{i=0}^{k}H(p_i)</math>(see figure 1) while the area of uniform distribution is <math>\sum_{i=0}^{k}G(q_i)</math>(see figure 2). It is clear that the area will not change, so <math>\sum_{i=0}^{k}H(p_i) = \sum_{i=0}^{k}G(q_i)</math>. From the uniform distribution, the probability of <math>q_i</math> is <math>\tfrac{N^2}{q_k - q_0}</math> while the <math> 0 < i < k </math> In continuous time, the equation is <math>\displaystyle \int_{q_0}^{q} \tfrac{N^2}{q_k - q_0}ds = \displaystyle \int_{p_0}^{p}H(s)ds</math>. Moreover, based on the definition of a function, the Gray level histogram method is like finding a function <math>f</math> that satisfies f(p)=q. {| class="wikitable" |- ! Improvement method ! Issue ! Before improvement ! Process ! After improvement |- |- | Smoothing method | noise with Matlab, salt & pepper with 0.01 parameter is added<br /> to the original image in order to create a noisy image. | [[File:Helmet with noise.jpg|thumb|]] | # read image and convert image into grayscale # convolution the graysale image with the mask <math> \begin{bmatrix} 1/9 & 1/9 & 1/9 \\ 1/9 & 1/9 & 1/9 \\ 1/9 & 1/9 & 1/9 \end{bmatrix} </math> # denoisy image will be the result of step 2. | [[File:Helmet without noise.jpg|thumb|]] |- |- | Histogram Equalization | Gray level distribution too centralized | [[File:Cave scene before improvement.jpg|thumb|]] | Refer to the [[Histogram equalization]] | [[File:Cave scene after improvement.jpg|thumb|]] |- |}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)