Lessons learned

Fig. 6.1

Some of the important technical knowledge we have gained (which is discussed in detail in the three "Image processing" sections) includes:

  • image-enhancement techniques

    • imadjust() function

  • morphological filters

    • imopen() and imclose() functions

      • imerose() and imdilate() functions (which are the "erosion" and "dilation" operations that define imopen() and imclose())

    • imfill()

  • area-based filters

    • bwpropfilt(_, 'area', 1) (for filtering for the largest area)

  • region-property-measurement techniques

    • regionprops()

  • distance transforms

    • bwdist()

  • shape-inserting and text-inserting techniques

    • insertShape()

    • insertText

We have also learned some lessons on general problem solving, including:

  • it is much more efficient to work with a graphical user interface (GUI) than with hand-written source code

    • for example, the Image Segmenter App should be the starting point for any image segmentation task

  • it is never too late to pause what we have been working on and explore an alternative approach

    • this attitude led us to discover the imfindcircles() function in our circular-shape-detection task