$24.99
1. Pin-hole optics
Consider a pinhole projection circle (PPC with diameter dP) scanning along the diagonal line (CPCL) to the circular landmark as shown in Fig. 1, where s (−dP/2 s +dP/2) is the distance from the intersecting line to the PPC center CP.
a) Derive the mathematical expression for δa/δO as a function of S(=s/dP), where δa is the overlapping area and δO is the pin-hole projection area, in terms of the ratio
(= dL/dP).
b) Plot δa/ δO for the range, −0.5≤S≤0.5 and = 2.
Discuss the effect of on δa/δO by considering two Fig. 1. Pin-hole model of a landmark cases, 0 < <1, and 1.
2. Histogram Equalization (HE)
Gray-level # of pixels CDF qk round(qk)
43 1 1 5.313 5
׃
׃ ׃
׃ ׃
׃ ׃
׃ ׃
׃
78 2 48 255 255
Fig. 2(a) shows an 8-bit gray-level MRI image (Posture_MRI.png) of a human and a subregion in a matrix (Fig. 2b). For your convenience, the data are also given in the ‘sub_region_matrix.xlsx’ file.
a) Compute the HE of the region matrix by completing Table 1. Show the sub-region matrixes before and after the HE.
(MATLAB histeq command is NOT allowed in 2a).
Table 1
b) Perform the HE on an image by writing a Matlab script. Demonstrate your work as follows:
I. Read in and display the ‘Posture_MRI.png’.
3. Filtering masks
Sobel operator (Parts 3a, b)
a) Use a 3x3 Sobel operator to calculate the magnitude and direction of the gradient at pixel (3, 5) in Fig. 2(b). Indicate the direction of the gradient on the pixel. (Note: Sobel operator is coordinate dependent. Be sure to use consistent coordinate systems on the sub-regions.)
b) Write a Matlab script to compute the gradient of an image. For illustration, use the Sobel operator on the image “checker.png” shown in Fig. 3(a). Display the gradient images (Gx, Gy, G). You are encouraged to compare with that computed using Matlab functions edge and imgradientxy; explain if any differences.
Gaussian operator (Parts 3c to f)
c) Plot the Gaussian function in the range ( 5− − x 5, 5 y 5) for =1, 3, 5:
G x y( , ) = 21 2 exp−(x22+2y2)
Suggested Matlab functions: meshgrid.m, surf.m
d) Use a Gaussian filtering mask to smooth the image ‘Texture.png’ (Fig. 3b); specifically, compare the smoothing effects of different (= 1, 3, and 5) on the image.
Note: Use the proper mask size for a specified to smooth an image. Suggested Matlab functions: imfilter.m
e) Perform an edge detection using the DoG function (difference of two Gaussians on the image “nut_and_shell.png” (Fig.4), demonstrating your work with c =1ands =10.
f) An interesting observation in a human visual system (HVS) suggests our HVS uses DoG functions (Part 3e) to discriminate closely similar colors and detect an edge. Consider an image consisting of two 1002-pixel RGB color patterns with [Red, Green, Blue] values: Color Pattern I (left): [130, 115, 108] and Color Pattern II (right): [110, 97, 96].
i) Compute the 3 transformed components [h1, h x y1( , ) =DoG R G + s [2R G B+ − ] h2, h3] to create a new color image using the h x y2( , ) =DoG G G + s +[R 2G B− ] equations on the right, where hi (with i=1, 2, h x y3( , ) =DoG B G + s +[R G] and 3) represent the transformed values:
ii) Plot the color patterns before and after the color filtering;
iii) Computing the norm d between the two color vectors before and after the filtering:
4. Low-level information processing
This problem shows the process of obtaining some low-level information from an image.
a) Read in and convert the image ‘nut_and_shell.png’ into a gray-scale image. Binarize the image using 3 different thresholds. Preferably one over- and one under-estimate and the other in between. (Hint: Use the histogram to get an idea of what thresholds to pick).
b) Obtain the area and centroid of the nut and shell in the image with the appropriate threshold.
c) Find all the boundaries of the nut and shell.
Suggested Matlab functions: rgb2gray.m, im2bw.m, bwlabel.m, regionprops.m, bwboundaries.m