opencv is optional.