It might not be a very good idea to use ArcGIS but somehow we can use this software for tree counting!
My method is quite simple:
1. Get a piece of hi-res image from Google Earth
2. Open the image in ArcGIS
3. Make sure toolbar "Image Classification" is checked (turned on).
4. From "Image Classification" toolbar, select "Classification" --> "Iso Cluster Unsupervised Classification" command.
5. Chose "2" for "Number of Classes" in the dialogbox. By doing it, you will have only trees (or something else similar) and non-tree objects in the result. Run it and see the result (below).
C'mon, it also shows "Google Earth" trademark on the result (LOL).
6. Now go to ArcGIS ToolBox, select "Conversion" --> "From Raster" --> "Raster to Polygon". In the dialog box, check to "Simplify Polygion (optional)" checkbox.
7. The result is as below
8. Mask the area where you want to count the trees, then count the number of polygons within that mask. Bingo!!!!
If you want to do it better, you can do some pre-processing steps for your image. Also, when you have the polygon layer, you can try to simplify the layer again (using Eliminate, Integrate... functions) before counting trees.
Enjoy ESRI.