code: def _create_board_image_cv(self, board=None):
          
          board = board or base.Board()  # empty board by default
          tile_h, tile_w = self._TILE_SHAPE[0:2]
          board_shape = tile_h * 8, tile_w * 8, 3
          board_image = numpy.zeros(board_shape, dtype=numpy.uint8)
          # place each tile on the image
          for (row, col), tile in board.positions_with_tile():
              tile_image = self._tile_images[tile._type]
              t, l = row * tile_h, col * tile_w
              b, r = t + tile_h, l + tile_w
              board_image[t:b, l:r] = tile_image
          return board_image
docs: Return a cv image of the board or empty board if not provided.