The accompanying drawings, which are included to provide a further understanding of the invention, are incorporated in and constitute a part of this application, illustrate embodiments of the invention and together with the description serve to explain the principle of the invention. In the drawings:
Reference will now be made in detail to the preferred embodiments of the present invention for a mouse interface apparatus using a camera, and system and method using the mouse interface apparatus, examples of which are illustrated in the accompanying drawings.
Referring to
The camera 100 obtains a computer window, i.e., an entire image of a computer monitor as an image. From the image obtained by the camera 100, the positions of a plurality of points positioned along edges of the computer window are detected, and a homography is obtained from a relationship between the positions of the plurality of points obtained by the camera 100 and the positions of the plurality of real points 21, 22, 23, 24 on the computer window. The homography thus obtained functions to convert an image coordinate system (x, y) by the camera 100 into a plane coordinate system (X, Y) by the real computer window 200.
Accordingly, a mouse interface that can control a cursor on the image on the computer monitor can be implemented using the camera 100 and the homography.
Hereinafter, a method for obtaining the homography converting an image coordinate system by the camera into a plane coordinate system (X, Y) by a real computer window will be described with reference to
The camera 100 continuously obtains the image of the computer window 200. The image obtained by the camera 100 includes the computer window 200 itself, but the position of the computer window 200 on the image obtained by the camera 100 is changed depending on a relationship between the camera 100 and the computer window 200, i.e., a movement of the camera 100.
Accordingly, the camera 100 continuously photographs the image of the computer window to obtain the positions of a plurality of points 11, 12, 13, 14 existing along edges of the computer window from the image photographed by the camera 100.
The positions of the plurality of points 11, 12, 13, 14 existing along edges of the computer window are expressed by coordinate values. Here, a coordinate system formed by a plane of the camera-photographing image is referred to as ‘image coordinate system’ and is expressed by (x, y). In the image coordinate system, each coordinate value is expressed by (xi, yi). As shown in
To obtain the homography according to the present invention, the coordinates of the plurality of points 11, 12, 13, 14 existing along the edges of the computer window are detected from the camera-photographing computer window image. The coordinates of the plurality of points 11, 12, 13, 14 existing along the edges of the camera-photographing computer window image can be obtained by an image processing unit built in the camera or obtained by the computer which has received the image photographed by the camera 100.
The coordinates of a plurality of points 21, 22, 23, 24 existing along edges of a real computer window are coordinates on a plane constituting the computer window, and exist on a plane coordinate system (X, Y). A coordinate constituting the plane coordinate system (X, Y) is referred to as a plane coordinate and is expressed by (Xi, Yi).
The homography indicates a relationship between the image coordinate (x, y) that is the position on the camera-photographing computer window image and the plane coordinate (X, Y) that is the position on the real computer window. To obtain the homography, the plane coordinates of the plurality of points 21, 22, 23, 24 on the edges of the real computer window corresponding to the plurality of points 11, 12, 13, 14 on the edges of the camera-photographing computer window image as shown in
The plane coordinate (X, Y) is a plane made by the computer window, and the coordinates of the plurality of points can be obtained with the upper left apex of the computer window set as an origin. The position of the origin may be changed.
The coordinate values of the plurality of points on the edges of the computer window are preset and stored by a user. Therefore, the positions of the plurality of points on the edges of the computer window have to correspond to the positions of the plurality of points on the edges of the camera-photographing computer window image.
Next, the homography converting the image coordinate system (x, y) into the plane coordinate system (X, Y) using the image coordinate (xi, yi) detected with respect to the plurality of same points on the edges of the computer window and the preset plane coordinate (Xi, Yi) can be obtained as follows.
The homography using the image coordinate (xi, yi) (where i=1, . . . N) detected with respect to the plurality of points and the preset plane coordinate (Xi, Yi) (where i=1, . . . N) has a 3*3 matrix as follows:
At this time, an equation to obtain the homography is as follows.
When a singular value decomposition of the matrix A is performed in the above equation, a singular vector corresponding to the smallest singular value becomes a solution h. The solution can be obtained by detecting at least four points without needing to detect all N points from the camera-photographing computer window image.
The coordinate of a point on the real computer window corresponding to a point on the camera-photographing computer window will be described with reference to
To converter a point (x′, y′) on the computer window photographed by the camera into a point (X′, Y′) on the real computer window using a homography, a user first has to set the point (x′, y′) on the camera-photographing computer window. Since the point (x′, y′) on the camera-photographing computer window is based on the image coordinate (x, y) obtained by the camera, it can be converted into a specific coordinate (X′, Y′) on the real computer window by a below equation using a homography.
The specific coordinate (X′, Y′) on the real computer window is calculated on the basis of the plane coordinate system (X, Y) by the computer window, and indicates a point where a straight line connecting a focus 30 with the point (x′, y′) on the computer window set by the user meets with the plane coordinate system (X, Y) by the computer window. If a mouse cursor is placed on the position of the node thus calculated, it is possible to control the movement of the mouse cursor according to the position of the straight line connecting the focus 30 with the point (x′, y′) on the computer window by adjusting the direction and position of the camera.
In the case of adjusting the direction and position of the camera, since the position of the computer window projected on the image photographed by the camera is changed and accordingly the image coordinates (xi, yi) of the plurality of points 11, 12, 13, 14 are also changed, the homography is continuously obtained. Since the specific coordinate (X′, Y′) of the plane coordinate system where the mouse cursor with respect to the arbitrary point (x′, y′) on the camera-photographing computer window is positioned is changed according to the continuously obtained homography, the cursor is also moved correspondingly according to a movement of the camera.
Referring to
The camera 100 can freely move according to a control of the user. The camera 100 can be provided therein with the image processing unit 110. That is, the camera 100 can detect and output image coordinates of a plurality of points from the photographed image.
The image processing unit 110 is provided in the camera 100, or the processor unit 300 may also perform the function for detecting the image coordinate of the image processing unit 110.
The processor unit 300 is configured to include an image coordinate detecting module 310, a homography processing module 320, and a cursor coordinate output module 330.
The image coordinate detecting module 310 detects the image coordinates (xi, yi) of the plurality of points from the image photographed by the camera 100.
The homography processing module 320 obtains a homography using the detected image coordinate (xi, yi) and the plane coordinate (Xi, Yi) of the plurality of points preset on the computer window. Since the image coordinate (xi, yi) is changed with the movement of the camera 100, the homography is continuously obtained.
The cursor coordinate output module 330 outputs the coordinate (X′, Y′) on the computer window corresponding to the arbitrary point (x′, y′) on the image photographed by the camera using the continuously obtained homography and selects the output coordinate as a position of the cursor.
The mouse driver 400 adjusts the movement of the mouse cursor according to the movement of the coordinate (X′, Y′) on the computer window selected as the position of the cursor.
Referring to
The computer 500 includes a processor unit 300 which detects image coordinates corresponding to a plurality of points on edges of a computer window from the image transmitted by the camera 100, obtains a homography using the detected image coordinates and real plane coordinates, and converts an arbitrary point on the image coordinate into a specific coordinate on the computer window using the homography to determine and output a position of a mouse cursor.
The processor unit 300 can perform its function using an execution program which is installed in the computer 500 to receive and process the image photographed by the camera 100.
A mouse driver 400 for positioning a mouse cursor 201 at the position of the mouse cursor outputted by the processor unit 300 and displaying the cursor 201 using a monitor 200 is installed in the computer 500.
Accordingly, the monitor 200 displays the mouse cursor 201 using the homography obtained according to a movement of the camera 100.
A camera 100 shown in
The image processing unit 120 performs the same functions as those of the processor unit 300 built in the computer shown in
The camera 100 transmits a coordinate value on the position of the mouse cursor outputted by the image processing unit 120 to the computer 500. At this time, the camera 100 and the computer 500 transmit and receive a signal on the coordinate value through a USB port or 1394 port 510.
Referring to
Referring to
Although not shown in the drawings, in another embodiment of the present invention, a computer readable recording medium in which a program is installed may be provided to implement functions of the present invention. The computer readable recording medium for implementing an interfacing function using a camera according to the present invention is characterized by including an image coordinate detecting function of detecting image coordinates (xi, yi) of a plurality of points existing on edges of a computer window photographed by a camera; a homography processing function of obtaining a homography using the detected image coordinates (xi, yi) and plane coordinates (Xi, Yi) on a plane of a real computer window corresponding to the plurality of preset points; and a cursor coordinate outputting function of obtaining a coordinate of an arbitrary point on the computer window image photographed by the camera using the homography to determine a position of a cursor.
Also, the present invention can further implement a function of moving the position of the cursor according to a variation in the coordinate determined by the cursor coordinate outputting function.
As described above, the mouse interface apparatus, and system and method using the apparatus according to the present invention can establish an interface system using a camera connected to a computer, at a low cost without needing a calibration prior to its use and a separate interface apparatus.
Also, the present invention enables a disabled person with the spinal cord injury who wears the mouse interface apparatus of the present invention on his or her head, to use a computer, or to utilize the mouse interface apparatus as an interface in using a general computer, a computer game, or a presentation.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention. Thus, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.
| Number | Date | Country | Kind |
|---|---|---|---|
| 10-2006-0088343 | Sep 2006 | KR | national |