AUTO PHOTOGRAPHY TOOLS | VISUAL STUDIO / C#
As you might have gathered from elsewhere on my site, digital art and development is no longer my sole source of income. I still get the odd art contract now and again, but these days I develop games for personal enjoyment rather than financial gain. I mostly pay the bills from money made as a photographer. Not a general photographer, but a photographer of vehicles.
I’m a supplier for a company called AutoTrader Image Services based in Manchester. I’ve always been a keen photographer, so I guess that path made sense. But, you know, you can’t keep the inner nerd locked up! I just had to shoe-horn some software development in there somewhere. So, I’ve written a bunch of time-saving tools that help me keep on top of the image processing side of the job.
VISUAL STUDIO 2015 COMMUNITY EDITION.
This might sound funny to a seasoned coder, but when I started learning Unity 3D I didn’t realize that I’d be able to use the same C# skills to create Windows Applications. In fact, I didn’t realize that the Community Edition of Visual Studio 2015 would let you compile stand-alone tools. I still find it amazing just how much software is available to use for free these days. Unity is another prime example of that. Visual Studio Community Edition pretty much lets you develop anything you like in Windows. And, it provides all the UI tools for your code to hook into. So, you’re not having to worry about implementing drop-down menus or button code – it’s all in there waiting for you to use. All you need to do, is hook your code up to it.
It is a bit daunting at first – it’s a truly vast program, but as with all Microsoft tools it’s well written with a vast amount of online help. It’s worth noting that while I program in C#, you can code in Visual Basic or C++.
THE TOOLS…
If you’re an auto photographer, you’ll know that it’s not unusual to shoot between 400-700 photographs in a day. But for many of us, the job doesn’t end when you shoot the last car. These images have to be ordered, cleaned and accurately renamed before they can be submitted at the end of the day.
The first tool I wrote was something called AutoRename. This tool requires that you point it at your clean set of photographs. By clean, I mean that all the images are in the correct shot order, and that any duplicates and duds have been removed. The picture of that pigeon that you took mid-afternoon to alleviate the boredom, that has to go.
The tool scans the set and tells you if you have any missing (based on numbers alone). If you have the right amount, you’ll be shown a front shot of the car and prompted to enter the vehicle registration number. It’s literally a case of entering the reg and hitting ‘return’ for each car. Once you’ve entered them all, you can skip back to check them all (there’s a handy floating tool that you can position next to the reg on the image). You can then hit ‘rename’ to rename all the images.
(Note – I had to obscure the registration plates on the cars at the request of AutoTrader.)
One useful tool that I added to the renamer was the ability to perform analytics on the shot data. The tool parses the camera shot times from the metadata and uses it to calculate:
- How long you had to wait for the car to be presented.
- How long it took you to shoot the vehicle.
Below is an example of how the .CSV file can be imported into Excel for graphing. You can see from the graph below, that the driver moving the cars in the yellow section was slower at moving the cars than the driver in the green section:
This sort of data could be useful to show your employer or agency should they raise concerns about your shooting speed.
You can also use the data to analyze your own shooting speed, which will show fluctuations throughout the day as you get tired or are hampered by weather.
SUPER-FAST RESIZER
One of the slowest procedures in preparing your images for submission is image resizing. I resize my images using Adobe Photoshop and it is slooooooooow. This is partly because Photoshop (or at least my version) doesn’t handle multi-threading very well. So I wrote a small renaming tool that does its best to spread the resizing tasks across all of your CPU cores. I called it the ‘SledgeHammer Resizer’ for obvious reasons:
Here’s the CPU use when renaming in Photoshop:
And here’s the CPU use when renaming in Sledgehammer:
As you can see, we’re maxing out the CPU cores. The tools takes around 1/6th of the time to rename than Photoshop.
IMAGE SUMMARISER
When you submit your images at the end of a day, you may need to send summary figures to show how many vehicles have been imaged and how many photographs are in the batch. This can be done manually, but when it’s 7pm and your sausage and mash is going cold on the table, you really don’t want to be arsing around with the Windows Calculator.
This tool analyzes your photograph files and works out how many different registrations there are. It then works out if any are missing – this happens sometimes when you’re shooting so many images. The tool checks two folders in parallel, as you may have shot cars for two different clients in a day and may only split them after processing:
Currently these are the only tools that I use. I have written other tools, but those were created to handle specific tasks such as filtering / collecting vehicle images based on lists contained within spreadsheets. You know, boring stuff like that.
Okay, so it’s not game-related, but it’s still nerdy enough to go into my portfolio 🙂
Car Photographer Tools
- Categories →
- C#
- Photography
- Visual Studio