Electronic device and method for operating a presentation application file

An electronic device and method for operating a presentation application file includes acquiring a histogram of each of a plurality of designated objects, and defining an operation corresponding to each of the plurality of designated objects. The electronic device and method further includes acquiring a histogram of a recognized object in an image, determining a matched designated object by comparing the histogram of the recognized object with the histograms of the designated objects, and executing an operation function corresponding to the matched designated object.

BACKGROUND

1. Technical Field

Embodiments of the present disclosure relate to file operations, and more particularly to an electronic device and a method for operating a presentation application file.

2. Description of Related Art

Presentation applications (e.g., MICROSOFT POWERPOINT) have been widely used in reports and lectures. These applications generate a presentation application file, which may be displayed onto a projection screen. Generally, a presenter needs to stand before the projection screen to conduct a presentation, making operation of the presentation application inconvenient.

What is needed, therefore, is an electronic device and a method for operating a presentation application file.

DETAILED DESCRIPTION

FIG. 1is a block diagram of one embodiment of an electronic device1in communication with a camera module5and a projector3. The projector3may project a presentation application file (e.g., a POWERPOINT file) opened in the electronic device1onto a projection screen4. The electronic device1includes an operation system2. In one embodiment, the operation system2may be used to designate a plurality of objects, predefine an operation corresponding to each of the plurality of designated objects, and execute the operation to operate a projected presentation application file when recognizing a designated object in an image acquired from the camera module5. Thereby, the projected presentation application file may be operated directly without any manual operations. The operations may include, but are not limited to, paging up, paging down, and deleting specified contents from the projected file.

In one embodiment, the electronic device1may be a computer, a notebook computer, a mobile phone, a personal digital assistant, or any other computing device. The camera module5may capture various images to be analyzed by the operation system2. In one embodiment, an angle of the camera module5may be predetermined to capture images from a designated region. As shown inFIG. 1, the camera module5is preset to capture images of the projection screen4. In another embodiment, a timer interval of the camera module5to capture continuous images may be also preset, such as 1 second, for example.

FIG. 2is a block diagram of one embodiment of the electronic device2including the operation system2. The electronic device2further includes a processor10and a storage device12. The processor10executes one or more computerized operations of the electronic device2and other applications, to provide functions of the electronic device2. The storage device12stores one or more programs of the electronic device2, and various kinds of data, such as captured images and predefined operations, for example. In one embodiment, the storage device12may be a memory of the electronic device2, or an external storage card, such as a memory stick, a smart media card, a compact flash card, or any other type of memory media.

In one embodiment, the operation system2includes a definition module20, a processing module22, a calculation module24, an execution module26, and a sync module28. The modules20,22,24,26, and28may comprise one or more computerized codes to be executed by the processor10to perform one or more operations of the operation system2. Details of these operations will be provided below.

In one embodiment, the definition module20defines a plurality of designated objects. In another embodiment, the definition module20may further define one or more movement directions corresponding to each of the plurality of designated objects. As shown inFIG. 3, the designated objects may be hands making different gestures, such as an upward gesture, a downward gesture, and a leftward gesture, for example. In addition, the designated objects also may be a projection pen, a teaching stick, for example. The one or more movement directions corresponding to each of the plurality of designated objects may be upward, downward, leftward, or rightward. As shown inFIG. 3, the upward gesture and the downward gesture have no corresponding movement direction, and the leftward gesture has two movement directions of leftward and rightward.

The processing module22acquires an image of each of the plurality of designated objects using the camera module5, and processes the image to acquire a histogram of each of the plurality of designated objects. In one embodiment, the processing module22subtracts background of the image to acquire foreground of the image using Gaussian mix model, and extracts boundaries of the foreground of the image. The processing module22calculates a histogram of each boundary point of the boundaries using log-polar coordinates, and acquires the histogram of each of the plurality of designated objects. In another embodiment, the processing module22may subtract the background of the image by image smoothing and processing based on two-dimensional wavelet analysis and mid-value filter. The boundaries of the foreground of the image may be extracted using a boundary tracing technology.

In one embodiment, the user may make a gesture using his/her hand within an effective capture area of the camera module5, which transmits the captured image data to the processing module22. For example, the user may stand near to the projection screen4, and make a gesture before the projection screen4. The processing module22acquires the captured image of the projection screen4, and processes the image to acquire the foreground of the image, that is, the gesture. The processing module22further acquires a histogram of the gesture.

In a first embodiment, the definition module20defines the operation corresponding to each of the plurality of designated objects. As shown inFIG. 3, the upward gesture corresponds to a paging up operation, and the downward gesture corresponds to a paging down operation. More operations can be predefined by the definition module22according to actual requirements, such as an operation of using a pen to underline selected contents, for example.

In a second embodiment, the definition module20defines an operation corresponding to each of the plurality of designated objects and a movement direction of each of the plurality of designated objects. As shown inFIG. 3, the leftward gesture having a leftward movement direction corresponds to an operation of deleting contents from a current position towards left. Similarly, the leftward gesture having a rightward movement direction correspond to an operation function of deleting contents from a current position towards right. Detailed descriptions will be provided below.

The definition module20further stores the histogram of each of the plurality of designated objects, the movement directions, and corresponding operations into the database120of the storage device12.

After completing definitions, the processing module22acquires an image from the camera module5if the operation system2is enabled. The processing module22further processes the image to recognize an object in the image, and acquires a histogram of the recognized object using log-polar coordinates. The processing module22processes the image using the same means as mentioned above.

The calculation module24compares the histogram of the recognized object with the histograms of the plurality of designated objects, and determines if the histogram of the recognized object matches a histogram of a designated object. In one embodiment, the calculation module24may compare the histograms using a sharp context arithmetic to determine if the histograms are matched.

If the histogram of the recognized object matches a histogram of a designated object, the calculation module24further determines if the matched designated object has one or more corresponding movement directions.

If the matched designated object has no corresponding movement directions, the execution module26executes the operation corresponding to the designated object to operate the projected presentation application file. For example, the user may make a downward gesture, and the processing module22processes a captured image including the downward gesture and recognizes the downward gesture. After comparison, the calculation module24determines that the downward gesture corresponds to an operation of paging down. Then the execution module26executes the operation to page down the projected presentation application file.

If the matched designated object has one or more corresponding movement directions, the processing module22acquires continuous images from the camera module5. As mentioned above, the time interval of the camera module5to capture continuous images may be predetermined by the definition module, such as 1 second, for example.

The calculation module24determines a movement direction of the recognized object by analyzing the continuous images. In one embodiment, the calculation module24determines the movement direction of the recognized object using a mean shift tracking technology or a particle filter to track the recognized object. In another embodiment, the calculation module24also may determine the movement direction of the recognized object by calculating different positions of the recognized object in the continuous images.

If the movement direction of the recognized object matches the movement direction of the matched designated object, the execution module26executes an operation corresponding to the designated object and the movement direction so as to operate the projected presentation application file.

If an operation of modifying the projected file is invoked, the sync module28recognizes start coordinates and end coordinates of the modifications, and maps the start coordinates and end coordinates of the modifications on the projected presentation application file to a presentation application file opened in the electronic device. The sync module28further modifies the presentation application file opened in the electronic device1according to the modifications on the projected presentation application file.

For example, the execution module26may execute an operation using a pen to underline selected content. The user makes the leftward gesture, and moves the leftward gesture from a current position towards left, and stops on an end position. The sync module28recognizes start coordinates of the current position and end coordinates of the end position, and maps the start coordinates and end coordinates to the presentation application file opened in the electronic device1. The sync module28synchronizes the modification on the projected presentation application file to the presentation application file opened in the electronic device1.

In one embodiment, it is assumed that Pro matrix represents a coordinate matrix of the presentation application file opened in the electronic device1, H matrix represents a transformation matrix, and P matrix represents a coordinate matrix of the projected presentation application file onto the projection screen4. The Pro coordinate matrix and the H matrix may be transformed using a formula “Pro=H*P.”

H matrix may be calculated by selecting at least four points in the Pro matrix and P matrix. The at least four points are not located on a same line.

By utilizing the sync module28, the user may directly modify the presentation application file opened in the electronic device1by making corresponding gestures on the projected presentation application file. That is, the user need not operate the electronic device1to modify the presentation application file.

FIG. 4is a flowchart of an embodiment of a method for defining data using the operation system2ofFIG. 2. Depending on the embodiment, additional blocks may be added, others removed, and the ordering of the blocks may be replaced.

In block S2, the processing module22acquires an image of a designated object using the camera module5.

In block S4, the processing module22subtracts background of the image to acquire foreground of the image using Gaussian mix model.

In block S6, the processing module22extracts boundaries of the foreground of the image.

In block S8, the processing module22calculates a histogram of each boundary point of the boundaries using log-polar coordinates, and acquires a histogram of the designated objects.

In block S10, the definition module20defines an operation corresponding to the designated object, or defines the operation corresponding to the designated objects and a movement direction of the designated objects.

In block S12, the definition module20stores the histogram of the plurality of designated objects, the movement directions, and corresponding operations into the database120of the storage device12.

By repeating block S2to S12, multiple operations may be defined to correspond to a plurality of designated objects and/or corresponding movement direction(s).

FIG. 5is a flowchart of one embodiment of a method for operating presentation application files using the operation system2ofFIG. 2. Depending on the embodiment, additional blocks may be added, others removed, and the ordering of the blocks may be replaced.

In block S20, the processing module22acquires an image from the camera module5when the operation system2is enabled.

In block S22, the processing module22processes the image to recognize an object in the image, and acquires a histogram of the recognized object using log-polar coordinates.

In block S24, the calculation module24compares the histogram of the recognized object with the histograms of the plurality of designated objects, and determines if the histogram of the recognized object matches a histogram of a designated object.

If the histogram of the recognized object matches a histogram of a designated object, in block S26, the calculation module24determines if the matched designated object has one or more corresponding movement directions. If the matched designated object has no corresponding movement directions, the procedure goes to block S30directly.

If the matched designated object has one or more corresponding movement directions, in block S28, the processing module22acquires continuous images from the camera module5, and the calculation module24determines a movement direction of the recognized object by analyzing the continuous images.

In block S30, the execution module26executes an operation corresponding to the designated object, or executes an operation corresponding to the designated object and the movement direction, so as to operate the projected presentation application file.