Pellicle @ Edmund is one kind of good beam splitters. It is very thin, and the second face reflection can be superimposed onto the first face reflection. Edmund also provides all kinds of imaging, mounting, etc. devices.
http://www.edmundoptics.com/onlinecatalog/displayproduct.cfm?productID=2044
Author Archives: fli10
How to create Bird’s eye image?
PanoWarp Tutorial
Deformation, stitching and Web viewing
http://www.gdargaud.net/Hack/PanoWarp.html#Birdseye
Nearest Neighbor Finding
ANN: A Library forApproximate Nearest Neighbor Searching
http://www.cs.umd.edu/~mount/ANN/
An excellent library to find nearest neigbhor or k-nearest neighbor using k-d tree searching, used in Image Analogy.
Natural Neighbor Interpolation
http://www.cgal.org/Manual/3.3/doc_html/cgal_manual/Interpolation_ref/Chapter_intro.html
Scattered data interpolation solves the following problem: given measures of a function on a set of discrete data points, the task is to interpolate this function on an arbitrary query point.
Natural neighbor coordinates are defined by Sibson in 1980 and are based on the Voronoi diagram of the data points. Interpolation methods based on natural neighbor coordinates are particularly interesting because they adapt easily to non-uniform and highly anisotropic data.
Another way to do interpolation is to first delaunay triangulation the input set, then rasterize these triangles, a typical method used in Graphics.
istrstream
a code snipet.
char s[] = “1.3 this is a test <><<?!\n";
istrstream ins(s);
char ch;
ins.unsetf (ios::skipws); // don’t skip spaces
while (ins) { // false when end of array is reached
ins >> ch;
cout << ch;
}
Another way to do string separation is to use strtok().
libcpd.lib link problem
http://www.gamedev.net/community/forums/topic.asp?topic_id=327651
Problem:
I have visual studio.net 2005 beta installed, and half my projects will not work anymore. It seems that any programs that use the c runtime library fail! It looks like Microsoft didn’t package up these files they are missing from the lib directory. My error is : LINK : fatal error LNK1104: cannot open file ‘libcpd.lib’
Solution:
You just need to go to the project settings, then in the linker tab, add ‘libcpd.lib’ to the Ignore Specific Library box and that should take care of it for now. Otherwise, you can download the Platform SDK which should have all the Win32 .libs you need.
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
wireless configuration
http://www.wirelessdefence.org/Contents/LinuxWirelessCommands.htm
Note: To connect your Linux machine to a WLAN using WPA, WPA2 or 802.1X you will need to use WPA Supplicant
—————-
Note: replace [interface] with your interface name as required (e.g. eth1, wlan0, ath0 etc.)
iwconfig [interface] mode managed key [WEP key] (128 bit WEP use 26 hex characters, 64 bit WEP uses 10)
iwconfig essid “[ESSID]” (Specify ESSID for the WLAN)
dhclient [interface] (to receive an IP address, netmask, DNS server and default gateway from the Access Point)
ping http://www.bbc.co.uk (if you receive a reply you have access)
How to use AWE
1. Add /AWE to the boot.ini file.
2. add Lock Pages in Memory to the user’s User Rights Assignments. For more information on how to do this, see “User Rights” in the operating system help.
3. Add #define _WIN32_WINNT 0x0500 before the sample codes provided by ms.
Physical Address Extension
If your winxp system has more than 4GB memory, and you want to use it. You can add /PAE flag to the booting system item of your boot.ini file. If you want to allocate more than 2GB memory for your process, you can try adding /3GB to your boot.ini file. But this flag doesn’t gaurantee you can use 3GB memory in your application, because the system may not have enough virtural address space for you, for example, your machine has installed lots of I/O cards. If you do install many I/O cards, and still want to use more than 2GB memory, you can use AWE function calls of windows to do so, like AllocateUserPhysicalPages, MapUserPhysicalPages, MapUserPhysicalPagesScatter.
—–
Originally posted by Windows Internals
To allow a 32-bit process to allocate and access more physical memory than can be represented in its limited address space, Windows provides a set of functions called Address Windowing Extensions (AWE). For example, on a Windows 2000 Advanced Server system with 8 GB of physical memory, a database server application could use AWE to allocate and use perhaps 6 GB of memory as a database cache.
Also, when [data] execution protection [(DEP)] is enabled on 32-bit Windows, the system automatically boots in PAE mode (automatically selecting the PAE kernel, \Windows\ System32\Ntkrnlpa.exe). For a description of PAE, see the section “Physical Address Extension (PAE).”
——
AWE Example
http://msdn2.microsoft.com/en-us/library/aa366531(VS.85).aspx
Key differences between rolling shutter and frame (global) shutter
http://www.ptgrey.com/support/kb/index.asp?a=4&q=115
Some types of CCD image sensors, such as the interline CCDs used by most PGR Imaging Products, provide an electronic shutter mechanism known as a frame (or global) shutter. In imagers that use a frame shutter, the entire imager is reset before integration to remove any residual signal in the sensor wells. The wells (pixels) then accumulate charge for some period of time, with the light collection starting and ending at exactly the same time for all pixels. At the end of the integration period (time during which light is collected), all charges are simultaneously transferred to light shielded areas of the sensor. The light shield prevents further accumulation of charge during the readout process. The charges are then shifted out of the light shielded areas of the sensor and read out.
This means that with a frame shutter sensor, the scene will be “frozen” in time, provided that the integration time is short enough i.e. there is no motion blur. An example of an image taken using a frame shutter is below.
The rolling shutter in a CMOS image sensor works differently, in that the photodiodes (pixels) do not collect light at the same time. All pixels in one row of the imager collect light during exactly the same period of time, but the time light collection starts and ends is slightly different for each row. The top row of the imager is the first one to start collecting the light and is the first one to finish collecting. The start and end of the light collection for each following row is slightly delayed. The total light collection time for each row is exactly the same, and the delay between rows is constant.
The time delay between a row being reset and a row being read is the integration time. By varying the amount of time between when the reset sweeps past a row and when the readout of the row takes place, the integration time can be controlled. Since the integration process moves through the image over some length of time, some motion blur may become apparent. An example of an image taken using a rolling shutter is below.