private void extractText(RegionInfo region) {
	      ArrayList<Integer> seeds = new ArrayList<Integer>();
	      ArrayList<RegionInfo> list = new ArrayList<RegionInfo>();
	      int maxX = (region.maxX + 4 <= this.width ? region.maxX + 4 : this.width);
	      int minX = (region.minX - 4 >= 0 ? region.minX - 4 : 0);
	      int maxY = (region.maxY + 4 <= this.height ? region.maxY + 4 : this.height);
	      int minY = (region.minY - 4 >= 0 ? region.minY - 4 : 0);
	      /*int maxX = region.maxX;
	      int minX = region.minX;
	      int maxY = region.maxY;
	      int minY = region.minY;*/
	      final int width = maxX - minX + 1;
	      final int height = maxY - minY + 1;
	      boolean start = false;
	      int idx = 0;
	      int[] rangeCol = new int[2];
	      int[] rangeRow = new int[2];
	      byte[] blob = getSubBlob(minX, minY, maxX, maxY);
	      for (int row = 0; row < height; row++) {
	    	  for (int col = 0; col < width; col++) {
	    		  idx = row * width + col;
		    	  //if (row == 0)
		    	  //	  rangeRow = getStartEndIdxRow(blob, width, height, col);
	    		  if (col == 0)
	    			  rangeCol = getStartEndIdxCol(blob, width, row);
	    	  }
	      }
	      writeRegionImage(region, blob, 0, width, height);
   }