Before I put solar panels on my roof, I built a system with a camera placed vertically over a reflective sphere (one of those cheap garden decorations), and then took photos from each corner of my roof. I then manually aligned each photo to north based on a compass in the photo and trimmed it to a square centered on the sphere. A script computed the path of the sun transformed onto the surface of the sphere, and drew a line over the photo for each month, with crossing lines for hours in solar time, and a point plotted for the position of the sun at the time the picture was taken. The point lined up "close enough" with the sun in the photo for me to assume that the lines were accurate. Any segment of a month line that was across sky would signify time where the panels would be active. and line crossing trees would be time lost to shade, enough to get a rough estimate of how well the panels would work.
Then I called a solar installer, who came out for a free quote with a handled tool that took a single photo, autodetected the position, orientation, and where the photo was sky vs. trees, and spit out the percentage of total incoming solar energy that would be absorbed at that point. I recommend doing it that way.