Posts

Showing posts from October, 2018

MARCO Processing stages

Image
Each image below represents the same input image data after various layers of processing.  I'd recommend clicking on an image to bring up the gallery view, since it's much easier to follow the continuity of the data that way. Raw greyscale image input, the image is rotated because of the way the docking camera is oriented on my test rig. Transition filtering: Each pixel is fed through an iterative algorithm which picks out sharp transitions in the image.  The high contrast of the black and white target make this a pivotal first step for culling away irrelevant image data. Grouping: Based on the results of the previous layer, the raw data rows are grouped as regions, each of which has a series of parameters such as average color, size, endpoints, and variance which are considered in the next layers. Scoring: Each region is fed through an algorithm specially designed to determine how likely it is that a particular region is the center of the target.  ...

New Code, new targets, etc.

Image
After taking a close look at the MARCO code I was writing, and the bear of a project it was turning into, I decided to change gears to something more manageable and practical. If you're unfamiliar with how color images are captured and stored, the short version is that color images are captured on most small cameras by rotating a series of three filters in front of a CCD or CMOS, taking three pictures in rapid succession, and combining them into one unified array, with three values corresponding to a different color on each of the camera's pixels. This adds a lot of overhead time and memory before even beginning of the image processing stage.  To circumvent this problem, a lot of computer vision and image processing systems use only one color channel which, if you can get away with disregarding the color data, is the preferable way to go. With that in mind I designed the new target below, which is much more-easily identified in a grey scale image and also much more useful...