There is no one-size-fits-all answer to this question, as the best features for your machine vision application will depend on the specific problem you are trying to solve. However, here are a few general tips that may help you choose good features for your application:
Consider what kind of information you need to extract from the images. What kind of features will best represent this information?
Think about the scale of the objects in the images. What kind of features will be helpful for detecting objects at different scales?
Consider the type of image noise present in the images. What kind of features will be robust to this noise?
Make sure to test your features on a representative set of images to make sure they work well on the specific data you will be using.
If you are using a machine learning algorithm to learn features from data, keep in mind that the choice of features can have a large impact on the performance of the algorithm. Make sure to choose features that are suitable for the learning algorithm you are using.