Sadly, very distorted photographs to work with, and theydon’t do justice to the scene. This is Postberg, which is about an hour north of Cape Town in Langebaan. A desert for all but 2 weeks of the year, when it turns into a flowering paradise. This entire area was covered in flowers. I balanced on top of a rocks and tried to get the scale of the inland water. A poor effort, but I wanted to document it anyway.
Monthly Archives: June 2011
Middle Drakensberg – South Africa
Another resurrected panorama from my trip to SA in 1997. Just pulled off the road and took this shot. I swear I did not pump the colors. Some day I need to find and rescan the photos with less sharpening, but oh well.
The Drakensberg mountains are about 100 miles inland from Durban. The range extends about 100 miles, in three distinctive sections: North, Middle, South. If you’ve seen the movie Zulu, you’ve seen this part of the world. Every other winter, there will be a light dusting of snow that lasts a couple of days. Many of the bushmen caves are to be found here. The hiking is tremendous and varied, with dozens of resorts to stay at. This area is mainly populated by rural Zulus. Each year in late winter, early spring, they burn the grass. The reason is that this area is very dry. If the grass were long, it would lay flat and the water would run off. By burning the grass, the water is held, the land rejuvenates, and the grass returns.
Sebago Panorama – Horseshoe – Memorial 1999
Mike’s Pass – Drakensberg Mountains, South Africa
I went back and redid the panorama for Mike’s Pass in the Middle Drakensberg mountains of South Africa. This is a place you can drive to. An incredible 360 degree view. Technically, it was very difficult to take these pictures because the wind was blasting so hard (50-70 mph) that you could not stand up straight. If you look back down the path, you will see a very unhappy wife sitting down for safety. Very unsettling to feel you are about to be blown off a mountain like tumbleweed.
Panoramas with HDR
This Memorial weekend, I got the chance to add some more raw footage to my 360deg panorama Sebago shots. Multiple rows. Wide exposures for HDR footage. The camera is a $130 cheapo, but does have manual settings, so I can control the exposure. We were gusting to 50 mph, so all the trees were moving, making it very difficult to get good shots for blending.
My rule is very simple: I am not going to spend any money on software. The tools have to be free.
This is a significant handicap, and it sure takes a lot longer to get things done.
But … can it be done?
I’ve tried all the free stuff. The best simple approach I know of is Microsoft’s ICE editor and the HDView plugin. Download ICE from here, and HDView from here
Forget the “Structured Panorama” option. It doesn’t work without special equipment afaik … it certainly doesn’t work with rough footage and variable overlaps.
The latest ICE is supposed to handle HDR, but it doesn’t work for me. So I have to merge each angle separately with another tool. (More on that elsewhere, perhaps. Basically I use FDRTools despite its ghosting limitation in the free version. You can use Gimp and layer tricks or other free tools, or Hugin itself.)
So, you drop all your photos onto ICE, wait a bit, and see what happens.
If ICE takes all your photos, you are done. Export to HDView.
If ICE cannot merge any single photo, then you are screwed. It would be wonderful if the next version of ICE allows you to manually position photos and help the matcher, but until then we need to look elsewhere.
The Hugin tool is supposed to the best open source option, and it is very impressive. It does multi-row panoramas AND HDR. Unfortunately, every time I’ve used it in the past, it was very time-consuming and very fragile. I’d spend hours working on something, make a small change, forget to save, and bang I’d blown it. I got so frustrated I refused to use the tool.
And the documentation is very limited. Also out-of-date. For example, the Stitcher tab (which produce the final output) has new buttons and controls which are not documented anyway. Grrr.
But now I decided I was going to figure it out. Develop a workable, repeatable procedure.
Sebago Panorama – Memorial 20110530-14b
This panorama was made on Memorial weekend, 2011. A so-so attempt and missed a couple of things, but still fun. That is Chuck in the picture.
Totally free personal websites: A remaining hurdle
I own the clevercaboose.com domain and use 1and1 as my host. The website is essentially nothing but pictures and I find it very hard to manage. I keep a copy of the website on my local computer. Whenever I add pictures, I have to create my own html files and link everything in. I wrote a little program to do this, but it is still a pita. So much so that I only update the site about once/year, and I have to devote a few days to it. Very bad setup.
So I have been looking at alternatives. Price isn’t critical, but free is better. The website management tools have to be something I can add to whenever I want. Which probably means the management tools need to be web-based as well.
Blogger has been great. And if I want more structure, I can use Google Sites. Plus Picasa to manage my photos. I need to do some research into slideshows, commenting images, etc, etc, but I think that will all work out.
The remaining problem … and it is currently a fatal one … is that none of these tools lets me add arbitrary files/folders to the website and treat them as url paths.
For example, if I add a file to google docs, that file is not accessible as a URL. There is a URL to the google doc “representation” of the file, but no URL to the file. If I follow the google doc URL in my browser, I see google docs, not the file.
For example, add a jpg file to google docs and follow its URL and you’ll see this:
And if I click on the image, the browser want to me to download it or open it. It cannot view the image “natively”, and it cannot use the URL to display the image in another html page.
And that means I cannot currently add HDView panoramas to my blog.
Blogger will not let me upload arbitrary files and then link to them in my blog post.
Google sites lets me upload arbitrary files, but they are “wrapped with a view” in the same fatal way as google docs.
Which I suppose leaves me looking at file hosting sites. And there are plenty of free ones, so I guess I shouldn’t complain. But actually none of them are as convenient as my existing 1and1 host. So for now, I will post the arbitrary files to 1and1 via ftp, then link to them with blogger.
How to recover when Hugin loses its mind
The most frustrating thing for me about Hugin is when I take too large a step and the optimizer goes south. Or the preview window starts to show some links heading off to outer space. It usually occurs right when it gets tough, e.g., completing a 360deg connection, or doing one of those global optimizations and not noticing it went bad. Then I try and fix the problem and wind up making it worse because I don’t really know what I am doing.
Then I am stuck with a completely buggered file and I don’t know how to get back. Sure I save copies along the way, but I hate the lost work. Also, even after I step back, I am liable to repeat my error at some point.
I’ve seen no tutorials about how to do this. I suspect it is because the issue is deemed too obvious by the developers to be worth mentioning to . But with something as complex as Hugin, that isn’t true.
Well, I finally managed to recover a butchered file, and this is how I did it. For reference, this was my starting point: The Hugin preview window completely hosed and liable to crash anytime I sneezed:
The basic procedure is to keep all the control points (unless you’ve added some bad ones) and reset all the adjustments.
1) Go to the Images tab and reset all the adjustment variables. Select all the images, then click the “Reset” button hiding in the “Image Position”.
The result being that all the values the yaw, pitch, roll, X, Y and Z columns are reset to zero like so:
Note that I do have one image selected as the Anchor. This is important. Pick the one image you want as your “centerpoint”, then click the button “Anchor this image for position” (it is on the lower left in the above picture).
Now go to the optimizer tab. We are going to do baby steps. First, in the Optimize dropdown, select
the option “Positions (increment, starting from anchor). This tell the optimizer not to do a “global optimization”. Rather, it will start from the anchor, then position the anchor’s neighbors, then the neighbor’s neighbors, and so forth.
If things are really bad, you can also tell the optimizer to work on a subset of the images only. You can do this by checking and unchecking values in the tables, or you can check the “Only use control points between image selected in preview window”, then pull up your preview window and show/hide images there. Anyway, the picture below shows me ready to do my first optimization on all the images:
After a while, hugin is down optimizing. However, I still have serious problems. Look at the result! One of my control points is still messed up by 8539 something-or-others.
Pretty serious now, because there isn’t (afaik) any simpler way of starting the optimization.
To back up a second, I could also have tried to optimize using the “Align” button in the “Assistant” tab. The problem is that this can easily get stuck in error-land … get almost all the way done then close the progress window and tell you that it failed. I had been stuck in error-land when I started this operation, but now I tried the “Align” approach and it worked! Well, worked without throwing an error. Still having a few problems, as can be seen in the preview window:
However, you should always check the Assistant tab because it does tell you useful information at times. For example, now it is telling me that I have a wee spot of bother. Thank you, computer:
You can also check to see if you have some bad control points. Pull up the “Control points table” (It is in the “View” menu) and scroll down, looking for bad points. (Too bad it won’t sort in order of badness.) If you see a row with a very high value, click on the row, and Hugin will show you the control points tab with the offending point. In my case, all my control points are correct, so phooey.
And now we come to the offending tab that has always eluded me before. The “Camera and Lens” tab:
What if these values have turned into garbage? In fact, they have. I’m going to select all the rows, then click the “Reset” button:
And do the optimization again. A bit better result this time 😉
And in the preview window, we can see that reality is not too far away.
In that last window, I obviously have some remaining issues, as all my control points are shown as poor. Also, some links go off into space. I think the latter are ok and are caused by the fact that my images are in 360deg.
Now the optimizer has regained reality, we can step towards a better fit. Check Hugin Optimize documentation to gain an understanding of what it does. For me, I can click on “Everything without translation” and run.
That is it for now. So the keys are:
(1) Reset the orientation values in the Images tab.
(2) Reset the camera data in the “camera and Lens” tab.
(3) Optimize with “Positions (increment, starting from anchor)” in the Optimizer tab.
And good luck to you.
How to export data from a SQLServer database into a sql file
This just cost me an hr or two and was a very frustrating search, so without further ado:
You are working with SQLServer. You need to export the data in 1 or more (all) tables. You don’t want to use the backup database approach. You don’t want to use text files. Rather, you want to use SQL insert statements.
Forget ExportSQLCE link here A very nice tool, but it only works on sql compact database files.
Forget all those shitty commerical apps that want you to pay $60 or more to do this.
Forget the SQLServer documentation. ARE YOU KIDDING ME!? No, unfortunately not. A bunch of useless nonsense about using BCP.
The solution is to use the “Generate Scripts” menu option in SQL Server Management Studio and READ THE VERY FINE PRINT as documented HERE
That teeny tiny option in the Advanced button. That is where it is.