I work a lot with drone data. Two common tasks are stitching 360 degee panoramas and detecting objects in an image.
Both of those are technically complicated - panorama stitching involves feature point detection, correlation, determining homographies, seam carving, and more.
Object detection is a whole field of research unto itself, but suffice to say it is not a simple process.
There are programming tools for both of those tasks, but if you're not a programmer it is going to be difficult to take advantage of most of them.
One way to deal with that barrier to entry is to create a DSL, or domain specific language.
The idea is not to create a general-purpose language, but one tailored to a specific use case (domain). This lets you create a simple interface, for example one that closely follows English, so non-technical users can take advantage of it.
To that end, I created a DSL for drone imagery: DIL, the Drone Imaging Language.
It's deliberately designed to be very simple. Here's a sample of DIL code:
load DJI_001.jpg DJI_002.jpg DJI_003.jpg highlight boat person save
That will load the 3 specified images, highlight any boats or people in them, and save the results. There's 80 object classes available for highlighting, see classes.txt for the full list.
There are 5 commands available in DIL:
load highlight stitch show save
Commands are run one at a time from top to bottom. Each command does the following:
load - Load one or more images. Loaded images are the ones that will be
stitched and/or highlighted. This should be the first command in a DIL file.
There may be more
loads in a file. The most
load will replace old ones -
save your operations if you don't want to lose them.
highlight - Highlight the given classes in the loaded images. More than one
class may be specified. This is what a highlighted image looks like:
stitch - stitch the loaded files into a panorama. This may be a regular
pano or 360.
show - launch a web browser to visualize a panorama. Requires a
of files to have already been
stitched. This is what the web viewer looks
save - save changes to files. This includes any highlighted images or stitched
I talked about DIL at the end of my talk about computer vision and image processing. There is video here if you want to learn more. Happy programming!