Wednesday, November 21, 2012
Tuesday, October 30, 2012
Virtual Keyboard using regular Camera
Modern home computers have come a long way, monitors have become slim, with user friendly mouse and slim CPUs. However keyboard has not changed much. Keyboard has to be wide enough to accommodate free movement of our fingers on it. Again, virtual keyboard technology uses expensive gadgets to ease typing. Hence no radical changes have happened to computer keyboards.
We can do away with the keyboard using a simple camera and image recognition algorithm. Idea is to capture the user hand movements on a plain surface using a camera and superimpose on a keyboard image in the screen. User will automatically have a feeling of typing in the keyboard. Algorithm can be built to recognize hand movements over different keys in the image. Hardware accelerators may be used to reduce the impact on computing power. At the end, for non key operations, you can get your normal screen changed to touch screen.
We can do away with the keyboard using a simple camera and image recognition algorithm. Idea is to capture the user hand movements on a plain surface using a camera and superimpose on a keyboard image in the screen. User will automatically have a feeling of typing in the keyboard. Algorithm can be built to recognize hand movements over different keys in the image. Hardware accelerators may be used to reduce the impact on computing power. At the end, for non key operations, you can get your normal screen changed to touch screen.
Wednesday, April 18, 2012
Bank 'N' Shop - Money Manager driving your Shopping Cart
BankNShop can provide unique banking and shopping experience by combining the industry best practices in managing funds effectively and also in getting better deals.
Help the user in making the buying decision and there by realizing the value for the money. Online shopping can be driven by Money Manager Solutions for effective utilization of funds. Money Manager users can plan his or her buys and get the best deals for the same by building a composite applications that plugs in the features of Shopping application as well.
Your shopping plan can be captured with a rough estimate so that it can be accounted for better fund management. Intelligence can be built to bring up deals via alerts on items that you plan to buy. You will have to just choose the deal which fits your budget / future spendings.
Help the user in making the buying decision and there by realizing the value for the money. Online shopping can be driven by Money Manager Solutions for effective utilization of funds. Money Manager users can plan his or her buys and get the best deals for the same by building a composite applications that plugs in the features of Shopping application as well.
Your shopping plan can be captured with a rough estimate so that it can be accounted for better fund management. Intelligence can be built to bring up deals via alerts on items that you plan to buy. You will have to just choose the deal which fits your budget / future spendings.
Labels:
Best Deals,
Money manager,
Shop and Save,
Shopping Cart
Monday, March 26, 2012
Java program that does Permutation & Combination
Forms the unique target combinations, recursively, starting from source list that has all the positions.
import java.util.LinkedList;
import java.util.List;
import org.apache.commons.lang.SerializationUtils;
public class Combinations {
private final static String characters = "abcd";
private static int length = characters.length();
public static void main(String[] args) {
Listsource = new LinkedList ();
// form the source list that have all the possible positions
for (int i = 0; i < length; i++) {
source.add(i);
}
// create a target list for forming unique combinations
Listtarget = new LinkedList ();
combine(source, target);
}
public static void combine(Listsource, List target) {
// break the recursion
if (target.size() == length) {
for (int i = 0; i < length; i++) {
System.out.print(characters.charAt(target.get(i)));
}
System.out.println();
return;
}
for (Integer position : source) {
//form the target combination by selecting a position from the source
ListreducedSource = (List )SerializationUtils.clone((LinkedList )source);
reducedSource.remove(position);
ListcombinedTarget = (List )SerializationUtils.clone((LinkedList )target);
combinedTarget.add(position);
combine(reducedSource, combinedTarget);
}
}
}
Subscribe to:
Posts (Atom)