Class MeanFilter

  • All Implemented Interfaces:
    Filter

    public class MeanFilter
    extends java.lang.Object
    implements Filter
    Given a buffered image, it'll compute mean of pixel intensities for a square matrix ( odd valued row & column numbers ), centered at P(x, y), for each color components ( i.e. R, G & B ), and update P(x, y) 's pixel intensity values in sink image.

    Concurrently processes each row of image matrix; leverage power of modern multi-core CPUs

    • Constructor Summary

      Constructors 
      Constructor Description
      MeanFilter()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.image.BufferedImage filter​(java.awt.image.BufferedImage img, int order)
      Applies mean filter on given buffered image of given order
      java.awt.image.BufferedImage filter​(java.lang.String src, int order)
      Given a source image filepath & order of mean filter to be applied; it'll first read that image & then call aforementioned function on buffered image
      java.lang.String filterName()  
      boolean isOrderValid​(int order)
      Checks whether requested order of filter can be applied or not, order needs to be > 0
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MeanFilter

        public MeanFilter()
    • Method Detail

      • isOrderValid

        public boolean isOrderValid​(int order)
        Checks whether requested order of filter can be applied or not, order needs to be > 0
        Specified by:
        isOrderValid in interface Filter
        Parameters:
        order - Order of filter to be applied
        Returns:
        Whether order value is valid or not
      • filter

        public java.awt.image.BufferedImage filter​(java.awt.image.BufferedImage img,
                                                   int order)
        Applies mean filter on given buffered image of given order

        order > 0 :: considers sub image of size ( 2*order + 1 ) x ( 2*order + 1 ), around P(x, y)

        order = 0, doesn't update image at all, considers itself only

        Specified by:
        filter in interface Filter
      • filter

        public java.awt.image.BufferedImage filter​(java.lang.String src,
                                                   int order)
        Given a source image filepath & order of mean filter to be applied; it'll first read that image & then call aforementioned function on buffered image
        Specified by:
        filter in interface Filter
      • filterName

        public java.lang.String filterName()
        Specified by:
        filterName in interface Filter