/Image-Processing-in-CS

Processing image captured in UGV or UAV navigation

Primary LanguageC#

# Image-Processing-in-C#

This repository is designed for applying image processing techniques.

Stereovision is a typical problem in computer vision and in 3D reconstruction. Given two images - called left and right images - capturing a scene at the same time from two points of view, stereo techniques aim at defining conjugate pairs of pixels, one in each image, that correspond to the same spatial point in the scene. The difference between positions of conjugate pixels, called the disparity, yields the depth of the point in the 3D scene.

These techniques can be implemented in both Unmanned Ground & Aerial vehicles to process the images which are captured to detect an obstacle.

ugv

The following C# code can be incorporated to apply a filter to an image, extracting image features, etc. using C#.

ApplyColorToImage: Differentiate the captured image with color to highlight the obstacle.

applytocolor

ColorExtractionFromImage: The color extraction will pull the most common colors out of an image file

colorextractionfromimage

CreateBiTonalImage: An image or file comprised of a pixel or dot values of either black or white. Bi-tonal (black and white only, one bit per pixel). A Bi-tonal image is created by a thresholding process from a greyscale input, either during the scanning process or subsequently. thresholding is an irreversible process which results in speckled images with noticeably “stair-stepped” diagonal lines.

createbitonalimage

CreateGammaImage: Gamma correction, or often simply gamma, is a nonlinear operation used to encode and decode luminance values in still image systems.

creategammaimage

GrayscaleTheImage: Greyscale image is one in which the value of each pixel is a single sample representing only an amount of light, that is, it carries only intensity information.

grayscaletheimage

GridPixelateTheImage: In computer graphics, pixelation (or pixelation in British English) is caused by displaying a bitmap or a section of a bitmap at such a large size that individual pixels, small single-colored square display elements that comprise the bitmap, are visible. Such an image is said to be pixelated in grids.

gridpixelate

InvertImage: Inverts the gray values of an image.

invertimage

JitterImage: An artistic effect can be applied to an image by replacing each pixel with a random pixel from a neighborhood of the specified radius. This is called a jitter filter in some image processing contexts.

jitterimage

ResizeImage: Changing the size at which the image will print without changing the number of pixels in the image —instead, the pixels are printed further apart or closer together. Resizing an image will not affect screen display.

resize

SepiaToImage: Sepia is a form of photographic print toning – a tone added to a black and white photograph in the darkroom to “warm” up the tones (though since it is still a monochromatic image it is still considered black and white).

sepiaimg

SetBrightnessForImage: Adjust the brightness of a picture.

setbrightness

SetContrastForImage: Adjust the contrast of a picture.

setcontrast

SphereEffectForImage: Imagine the 2D/3D images on to the surface of a sphere.

spehere

SubstitutionColorInImage: Colour replacement in the image

substitute

ThresholdToImage: Automatic Thresholding is a great way to extract useful information encoded into pixels while minimizing background noise. This is accomplished by utilizing a feedback loop to optimize the threshold value before converting the original greyscale image to binary.

thresehold

TimeWarpForImage: Timewarp / Time warping also known as Reprojection is a technique in VR that warps the rendered image before sending it to the display to correct for the head movement occurred after the rendering. Timewarp can reduce latency and increase or maintain frame rate.

timewarp