Comprehensive Guide to Human Visual System and Image Processing Techniques

Human Visual System (HVS)

Optic Nerve: Shifts approximately 5 degrees towards the temple.

Cornea: Acts as the primary refractive surface of the eye.

Iris: Controls the size of the pupil.

Pupil: Serves as an aperture, regulating the amount of light entering the eye.

Retina: Receives wavelengths between 380-950 nm.

Visible Spectrum: Humans can see wavelengths between 380-770 nm, with greater sensitivity to red than blue. Approximately 70-85% of white light reaches the retina.

Lens: Allows for focus by changing its curvature.

Wavelength Absorption: In a young eye, the cornea absorbs most radiation below 300 nm, and the lens filters out wavelengths below 380 nm.

Photoreceptor Cells:

  • Rods: Cylindrical in shape and responsible for vision in low light conditions.
  • Cones: Conical in shape and responsible for vision in high light conditions, as well as color perception.

Fovea: The central area of the retina responsible for sharp central vision. Contains no rods and a high density of smaller cones.

Cone Types: There are three types of cones, each sensitive to a different range of wavelengths:

  • Red Cones: Peak sensitivity around 580 nm.
  • Green Cones: Peak sensitivity around 540 nm.
  • Blue Cones: Peak sensitivity around 450 nm.

Color Perception: Based on the relative excitation of the three cone types.

Rod Sensitivity: Rods are more sensitive to light across the entire visible spectrum compared to cones.

Rod-Cone Ratio: There are approximately 20 times more rods than cones in the retina.

Projection on Retina:

  • Uses a coordinate system where (X, Y, Z) represents a point in 3D space and (x, y) represents its projection on the retina.
  • f represents the focal length of the eye.
  • Based on similar triangles, the following relationships hold:
    • a/f = A/C
    • b/f = B/C
  • Therefore, (a, b) = (fA/C, fB/C) = f/Z * (X, Y)
  • This equation describes how a 3D point is projected onto the 2D surface of the retina.

Binary Image Processing (BIP)

Binary Image Representation:

  • 1 represents black.
  • 0 represents white.

Image Representation:

  • I = [I(i, j)], where I(i, j) represents the pixel intensity at coordinates (i, j).
  • Initially, all pixel intensities are set to 0 (white).

Thresholding:

  • Converts a grayscale image to a binary image based on a threshold value (T).
  • J(i, j) = 0 if I(i, j) >= T (pixel is set to black).
  • J(i, j) = 1 if I(i, j) < T (pixel is set to white).

Binary Majority Operation:

  • Applicable only for an odd number of input variables.
  • The output value is determined by the majority value among the input variables.

Logical Operations:

  • Any binary operation can be performed using NOT, AND, and OR gates.
  • NOT(I1): Reverses the contrast of image I1 (binary negative).
  • AND(I1, I2): Performs a logical AND operation between corresponding pixels of images I1 and I2 (intersection).
  • OR(I1, I2): Performs a logical OR operation between corresponding pixels of images I1 and I2 (union).
  • XOR(I1, I2): Performs a logical XOR operation, which can be implemented as OR(AND[I2, NOT(I1)], AND[NOT(I2), I1]).

Blob Coloring:

  • Assigns a unique region number to connected pixels in a binary image.
  • Can be used to identify and analyze individual objects or regions in an image.

Hole Removal:

  • Holes within blobs can be removed by identifying regions that are not connected to the largest blob and setting their pixel values to 0.
  • Subsequent NOT operation inverts the image, highlighting the filled holes.

Dilation and Erosion:

  • Dilation (Expand): Expands the boundaries of black objects in an image.
  • Erosion (Shrink): Shrinks the boundaries of black objects in an image.

Window Operations:

  • A window is a geometric shape that defines a neighborhood of pixels around a central pixel.
  • Window operations involve performing calculations on the pixel values within the window.
  • Window size is typically odd to ensure a well-defined central pixel.

Mathematical Representation:

  • B*I(i, j) = {I(i-m, j-n); (m, n) in B} represents the set of image pixels covered by the window B when centered at pixel (i, j).
  • J(i, j) = G{B*I(i, j)} = G{I(i-m, j-n); (m, n) in B} represents a general window operation, where G is a function applied to the pixel values within the window.

Replication:

  • When the window extends beyond the image boundaries, replication is used to fill in missing pixel values.
  • Replication involves copying the values of the nearest image pixels.

Dilation Operation:

  • J1 = Dilate(I, B) if J1(i, j) = OR{I(i-m, j-n); (m, n) in B}.
  • Dilation expands black objects by setting the output pixel to 1 if any pixel within the window is 1.

Erosion Operation:

  • J2 = Erode(I, B) if J2(i, j) = AND{I(i-m, j-n); (m, n) in B}.
  • Erosion shrinks black objects by setting the output pixel to 1 only if all pixels within the window are 1.

Median Filter:

  • J3 = Median(I, B) if J3(i, j) = MAJ{I(i-m, j-n); (m, n) in B}.
  • Replaces the central pixel with the median value of the pixels within the window.
  • Effective in reducing noise while preserving edges.

Dilation and Erosion Properties:

  • Dilation increases the size of black objects and removes holes and gaps.
  • Erosion decreases the size of black objects and removes small objects and peninsulas.
  • Dilation of black objects is equivalent to erosion of white objects, and vice versa.
  • Erosion and dilation are not completely inverse operations.

Median Filter Properties:

  • Removes both small objects and holes.
  • Generally does not change the size of objects significantly.
  • Acts as its own dual: MEDIAN[NOT(I)] = NOT[MEDIAN(I)].
  • Smooths the image while preserving edges.

Opening and Closing:

  • Opening: Open(I, B) = Dilate[Erode(I, B), B].
  • Closing: Close(I, B) = Erode[Dilate(I, B), B].
  • Opening removes small objects and noise without affecting larger objects or holes.
  • Closing removes small holes and gaps without affecting larger objects or peninsulas.
  • Both operations generally preserve the size of objects.

Open-Close and Close-Open:

  • Open-Close: Open[Close(I, B), B].
  • Close-Open: Close[Open(I, B), B].
  • Both operations remove small objects and holes while preserving the overall shape and size of larger objects.
  • Open-Close tends to connect neighboring objects.
  • Close-Open tends to connect neighboring holes.

Skeletonization:

  • Reduces objects in a binary image to their essential”skeleton” or thin representations.
  • Iterative Erosion: In = ERODE[…ERODE[I0, B], …B], where n is the number of erosions.
  • Maximum Iterations: N = max{n: In * f}, where f represents the empty set (the largest number of erosions before the object disappears).
  • Skeleton: SKEL(I0, B) = S1 U S2 U … U Sn, where Sn = In INTERSECT NOT[Open(In, B)].

Image Enhancement Using Point Operations (PO)

Histogram:

  • Represents the distribution of pixel intensities in an image.
  • Does not contain spatial information about the image.

Average Optical Density (AOD):

  • Can be calculated from the histogram using the formula: AOD = (1/N) * Σ[k=0 to L-1] k * H(k), where N is the total number of pixels, L is the number of gray levels, and H(k) is the number of pixels with gray level k.
  • Low AOD indicates an underexposed image, while high AOD indicates an overexposed image.

Point Operations:

  • Transform each pixel’s intensity independently based on a predefined function.
  • J(i, j) = f[I(i, j)], where J(i, j) is the output pixel intensity, I(i, j) is the input pixel intensity, and f is the transformation function.

Contrast Stretching:

  • Expands the range of pixel intensities to enhance contrast.
  • Example: J(i, j) = P * I(i, j), where P is a constant greater than 1.

Intensity Scaling and Shifting:

  • Scales and shifts pixel intensities to adjust brightness and contrast.
  • Example: J(i, j) = INT[P * I(i, j) + 0.5], where INT[R] rounds R to the nearest integer.

Gamma Correction:

  • Adjusts the nonlinear relationship between pixel values and displayed brightness.
  • Example: J(i, j) = I(i, j)γ, where γ is the gamma value.

Note: Equation placeholder represents an image that was not provided in the original text.