US5457755A - Figure processing apparatus - Google Patents

Figure processing apparatus Download PDF

Info

Publication number
US5457755A
US5457755A US08/367,780 US36778095A US5457755A US 5457755 A US5457755 A US 5457755A US 36778095 A US36778095 A US 36778095A US 5457755 A US5457755 A US 5457755A
Authority
US
United States
Prior art keywords
primitive
data
displacement
shape
outline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US08/367,780
Inventor
Yoshihiro Ishida
Junichi Shishizuka
Yoshinobu Mita
Miyuki Enokida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2737989A external-priority patent/JP2746980B2/en
Priority claimed from JP1027380A external-priority patent/JP2746981B2/en
Priority claimed from JP11378189A external-priority patent/JP2747008B2/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to US08/367,780 priority Critical patent/US5457755A/en
Application granted granted Critical
Publication of US5457755A publication Critical patent/US5457755A/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Definitions

  • the present invention relates to figure recognition processing and, more particularly, to processing for recognizing a two-dimensional (planar) figure.
  • a conventional electro-publishing (electronic publishing) apparatus and a conventional desk-top publishing (portable electronic publishing) apparatus employs the following method of generating figures such as cuts and illustrations.
  • Data of basic figures such as rectangles and circles are prepared, and these primitive figures are combined to generate a new figure as needed.
  • points on an outline or edge to be created are designated as control points, and lines which pass through the control points are connected by using straight lines, curves, and parabolas.
  • Figures such as those of animation characters and abstract objects may often be impressive when they are expressed by shapes different from those of the primitive outlines.
  • graphic expressions obtained by only the conventional primitive-figures are unsatisfactory.
  • the present invention has been made in consideration of the conventional drawbacks described above, and has as its object to provide a figure processing apparatus for inputting an image from a scanner or camera, extracting an outline of an object from the image, and recognizing an extracted outline figure as shape modification data for obtaining a new figure.
  • the present invention has been made in consideration of the conventional drawbacks described above, and has as its still another object to provide a method of forming a two-dimensional (planar) figure, wherein various shapes can be formed on a primitive figure, and a shape pattern realized on a primitive figure can be utilized for another primitive figure, thereby easily forming another outline shape.
  • the present invention has been made in consideration of the conventional problems described above, and has as its still another object to provide a figure processing apparatus for processing a two-dimensional (planar) figure, wherein various shapes can be formed on a primitive figure, and a shape pattern realized on a primitive figure can be utilized for another primitive figure, thereby easily forming another outline shape.
  • primitive figures e.g., the lengths of long and short sides of a rectangle and the major and minor axes of an ellipse
  • different types e.g., an ellipse, a rectangle, and a triangle
  • the plurality of partial shapes represented by the primitive figures and the displacement information representing displacements from the primitive figures are edited and arranged to obtain a desired figure.
  • Editing for obtaining a desired figure from the partial shapes is performed by using only the primitive figures. After the entire arrangement of the partial shapes is determined, displacement information is added to create a new figure.
  • FIG. 1 is a view showing a shape as a first primitive shape for explaining the principle of the first embodiment
  • FIG. 2 is a view showing first displacement amount data for explaining the principle of the first embodiment
  • FIG. 3 is a view obtained by FIGS. 1 and 2;
  • FIG. 4 is a view showing a shape as a second primitive shape for explaining the principle of the first embodiment
  • FIG. 5 is a view showing second displacement amount data for explaining the principle of the first embodiment
  • FIG. 6 is a view obtained by FIGS. 4 and 5 according to the first embodiment
  • FIG. 7 is a view showing a first shape obtained by the first embodiment as displacement amount data of FIG. 8;
  • FIG. 8 is a view showing the displacement amount data used to obtain the first shape of FIG. 7 and a second shape of FIG. 9 according to the first embodiment
  • FIG. 9 is a view showing the second shape obtained as the displacement amount data of FIG. 8 according to the first embodiment.
  • FIG. 10 is a view showing an arrangement of a figure generating apparatus for practicing the first embodiment
  • FIGS. 11 and 12 are views for explaining operations of the first embodiment
  • FIG. 13 is a block diagram of a figure generating apparatus for practicing the first embodiment
  • FIGS. 14A and 14B are flow charts for explaining an operation of the figure generating apparatus of the first embodiment
  • FIGS. 15 to 19 are views for explaining modifications of the first embodiment
  • FIG. 20 is a view for explaining another modification of the first embodiment
  • FIG. 21 is a view showing a relationship between a primitive figure and an outline figure for explaining the principle of the second embodiment
  • FIG. 22 is a view for explaining displacement amount data so as to explain the principle of the second embodiment
  • FIG. 23 is a view for further explaining the relationship of FIG. 21;
  • FIG. 24 is a view showing a relationship between a primitive figure and an outline figure
  • FIG. 25 is a view showing displacement amount data of FIG. 24;
  • FIG. 26 is a view showing an arrangement of a figure generating apparatus of the second embodiment
  • FIG. 27 is a flow chart for explaining an operation of the figure generating apparatus of the second embodiment
  • FIG. 28 is a flow chart for explaining another operation of the figure generating apparatus of the second embodiment.
  • FIGS. 29, 30, and 31 are views showing display contents of a display device of the figure generating apparatus of the second embodiment
  • FIGS. 32 and 34 are views showing results obtained by executing the modifications of the second embodiment
  • FIG. 33 is a view for explaining displacement amount data of the modifications of the second embodiment
  • FIG. 35 is a view showing an arrangement for storing normalized displacement amount data
  • FIG. 36A is a flow chart showing normalization of the displacement amount data
  • FIG. 36B is a flow chart showing steps of generating a figure from the normalized displacement amount
  • FIG. 37 is a view showing non-normalized displacement amount data
  • FIG. 38 is a view showing normalized displacement amount data of FIG. 37;
  • FIG. 39 is a view showing a primitive figure used in mapping of FIGS. 20 to 22;
  • FIGS. 40 to 42 are views showing figures obtained by mapping normalized displacement amount data under different conditions
  • FIG. 43 is a view showing another arrangement of a figure processing apparatus according to still another embodiment of the present invention.
  • FIG. 44A is a flow chart for explaining an operation of the figure generating apparatus in FIG. 43;
  • FIG. 44B is a view for explaining an outline figure and a primitive figure from an input image
  • FIG. 44C is a view showing displacement amount data obtained from an input image
  • FIG. 44D is a view showing displacement amount data (FIG. 44C) mapped with an ellipse
  • FIG. 45A is a view showing a figure which is decomposed into parts
  • FIG. 45B is a view showing a state wherein the figure of FIG. 25A is separated into simple portions
  • FIG. 45C is a view showing a state wherein the respective parts of FIG. 45B are matched with primitive figures;
  • FIG. 46A is a view showing a rough shape of an original figure obtained by using only primitive figures
  • FIG. 46B is a view showing a figure obtained by FIG. 46A;
  • FIG. 47 is a view showing an arrangement of a figure generating apparatus for separating a figure into parts
  • FIG. 48A is a view showing a format of edited data
  • FIG. 48B is a view showing a format of parts data of a shape
  • FIG. 49A is a view showing a format of displacement data
  • FIG. 49B is a view showing a format of one displacement amount data of the displacement data
  • FIG. 50 is a flow chart showing editing procedures of shape parts.
  • FIG. 51 is a flow chart showing procedures for generating shape parts.
  • displacement amount data shown in FIG. 2 or 5 is added to a corresponding position of an existing outline (to be referred to as a primitive figure hereinafter) such as a circle (FIG. 1) or a rectangle (FIG. 4), and a shape outline of a new figure is obtained as a sum of the existing outline and the displacement amount data.
  • a primitive figure such as a circle (FIG. 1) or a rectangle (FIG. 4)
  • FIG. 1 is a view showing a circle having a radius r a .
  • a point P(r a , ⁇ a ) having an angular interval of ⁇ a from the reference (r-axis of FIG. 1) on the polar coordinate system.
  • displacement amounts from the reference position are plotted along the ordinate
  • outline positions of a primitive figure to be mapped are plotted along the abscissa.
  • Each point on the circumference can be expressed with an angle within the range of 0 to 2 ⁇ formed between a horizontal line and a line obtained by connecting each point and the center of the circle.
  • FIG. 3 shows a synthesized outline when a relationship between the displacement amounts and the outline positions of the primitive figure defined in FIG.
  • a displacement amount corresponding to the angle ⁇ a is defined as ⁇ r a
  • the point P(r a , ⁇ a ) on the outline of the primitive figure corresponds to a synthesized point Q(r a + ⁇ r a , ⁇ a ), as shown in FIG. 1.
  • FIG. 4 shows a rectangle having a long side length of "7" and a short side length of "5".
  • FIG. 5 is a graph showing displacement amounts of points on the respective sides with respect to the entire outline of the rectangle shown in FIG. 4.
  • a given position is synthesized with a displacement amount (to be also referred to as pasting or mapping) shown in FIG. 5 to obtain an outline shape shown in FIG. 6.
  • the example shown in FIGS. 4 to 6 is shown on the orthogonal coordinate system.
  • displacement amount data ⁇ r(x) at a position x on the outline of the primitive figure is defined as follows:
  • displacement data shown in FIG. 8 may be mapped on outlines of different types of primitive figures, as shown in FIG. 7 and 9.
  • FIG. 7 shows mapping of displacement data defined in FIG. 8 on the four sides (length: 24) of a rectangle having a long side length of "8" and a short side length of "4".
  • the origin on the abscissa of FIG. 8 is caused to correspond to the position of a point E in FIG. 7; the position of "8" on the abscissa, to a point F; "12" to a point G; “20” to a point H; and "22" the point E again.
  • a point on the circumference at zero angle (in this case, a clockwise angle is a positive angle) is caused to correspond to the origin of the abscissa of FIG. 8; a point a, to " ⁇ /3"; a point c, to "5 ⁇ /6", a point b, to "4 ⁇ /3", and a point d, to "11 ⁇ /6".
  • a direction of displacement from the inside the circle to its outside at circumferential points in the normal direction is a positive direction.
  • a natural image may be input by a scanner or the like, and an outline (outline of a building or equipment) in an input original image, an appropriate size, and an interval distance between primitive figures may be used to define displacement amount data.
  • a method of generating a figure described above can be realized by a figure generating apparatus having an arrangement shown in FIG. 10.
  • a figure operation device 1 comprises a computer.
  • a primitive figure and shape position information defined by equation (1) are converted into video signals by a figure display control device 2.
  • the video signals are then displayed on a display device 3 as a CRT display device.
  • the figure operation device 1 designates a primitive figure serving as the base of outline shape formation and causes a pointing device (P.D.) 4 and a keyboard 5 to input parameters necessary for displacement amount operations of equation (1) in accordance with a display of the display device 3.
  • P.D. pointing device
  • the primitive figure serving as the base of figure generation is selected such that a prepared primitive figure list is displayed on the display device 3, a cursor on the screen is moved by using the P.D. 4, and a button of the P.D. 4 is depressed at a desired primitive figure.
  • a list of modification operations (e.g., pulling, recessing, bending, and expanding) prepared as shown in FIG. 10 is displayed on the display device 3, and a desired modification operation is selected with the P.D 4 in the same manner as in selection of the primitive figure.
  • the displacement amount represented by equation (1) is designated by inputting values for setting a modification area on the display device 3.
  • the right portion of the screen is used as an operation area for setting various values, and the remaining area is used as an area for displaying set values.
  • Values in equation (1) are selected by, e.g., "wide”, “normal”, and “narrow" values a w , a 0 , and a n to define rough values. These rough values are finely adjusted to perform fine correction.
  • the position of the center of modification is designated as follows.
  • a primitive figure displayed in the figure display area is shifted by a cursor with the P.D. 4 on the screen, and the button of the P.D. 4 is depressed at a desired position.
  • the depressed position serves as the center of the displacement amount distribution.
  • a maximum value ⁇ r a of the displacement amount can be determined in accordance with a movement amount of the P.D. 4.
  • FIG. 13 shows a hardware arrangement of an apparatus for realizing the figure generating method of this embodiment.
  • a display device 3, a P.D. 4, and a keyboard 5 are the same as those shown in FIG. 10.
  • the apparatus includes a CPU 50 for performing arithmetic operations and control in accordance with programs, a ROM 51 for storing programs, a RAM 52 having a primitive figure storage section 52a for storing primitive figures and a displacement amount storage section 52b for storing displacement amounts, an I/O controller 53 for controlling inputs from the P.D. 4 and the keyboard 5, and an output controller 54 for controlling outputs to the display device 3.
  • a CPU 50 for performing arithmetic operations and control in accordance with programs
  • a ROM 51 for storing programs
  • a RAM 52 having a primitive figure storage section 52a for storing primitive figures and a displacement amount storage section 52b for storing displacement amounts
  • an I/O controller 53 for controlling inputs from the P.D. 4 and the keyboard 5
  • an output controller 54 for controlling outputs to the display device 3.
  • the modification operations are performed by the CPU 50 in accordance with flow charts (FIGS. 14A and 14B) corresponding to the programs stored in the ROM 51.
  • step S1 of all values used in this step, the CPU 50 sets values which are not specified by an operator. At the same time, the CPU 50 initializes a memory and pointers to be used.
  • step S2 as shown in FIG. 12, the primitive shapes prestored in the primitive figure storage section 52a are displayed on the display device 3. The operator selects a desired primitive figure with the P.D. 4.
  • step S3 as shown in FIG. 10, the types of modification operations prepared in the displacement amount storage section 52b are displayed on the display device 3. The operator selects a desired type of modification operation with the P.D. 4.
  • the CPU 50 determines in step S4 whether the operation selected in step S3 modifies the entire primitive figure or part of the outline shape of the primitive figure.
  • step S11 When the primitive figure itself is modified (e.g., bending such as a change from a rectangle to a saddle-like shape, and expanding such as a change from a horizontally extending rectangle to a vertical extending rectangle), associate routines are performed in step S11.
  • the flow advances to step S7 to display a processed figure.
  • step S5 a size of the modification area is designated with the P.D. 4.
  • step S6 a position of the center of modification and a modification amount are designated with the P.D. 4 by using the shape data displayed on the left side of the display screen of FIG. 11.
  • step S7 synthesized outline figure data is calculated from the types of primitive figure and modification operation, the modification position on the outline of the primitive figure, and displacement amount information.
  • step S8 figure data modified in step S7 is displayed on the display device 3 through the output controller 54.
  • the CPU 50 causes the output controller 54 and the display device 3 to continuously display the modified figure data.
  • the CPU 50 causes the operator to determine in step S9 whether the degree of modification satisfies the operator's request while the CPU 50 allows the operator to observe the display of the display device 3. Thereafter, the CPU 50 advances to step S10 to determine whether an end signal is input after the CPU 50 determines that no further correction is required by the operator. In this case, when a correction signal which represents a further correction operation is input, the flow returns to step S2, and the CPU 50 is ready for receiving new parameters. In this case, the operator resets new parameters in steps S2 to S6 to perform the operations by the modification equation in steps S7 and S8. The corrected values are displayed on the display device 3.
  • the CPU 50 determines in step S9 whether a modification satisfies the operator's request.
  • the CPU 50 repeats the loop of steps S2 to S10 until the operator is satisfied with the modification, thereby generating a new figure.
  • the operator is satisfied with the output result and judges that no further correction is required, he inputs an end signal.
  • the CPU 50 stores the data (the type of primitive figure, the size of the modification area, the position of the center of modification, and the size of modification) in step S12 at positions of the displacement amount storage section 52b designated by a counter of a data memory table and then increments the count of the counter.
  • the CPU 50 determines in step S14 whether next curve data is to be generated on the basis of the decision of the operator. When the next data is to be generated, the flow returns to step S2.
  • step S3 when the flow returns to step S3 since the CPU 50 determines that correction is required, all the operations in steps S2 to S6 need not always be performed again.
  • the state immediately before return to step S2 may be held to allow additional modification.
  • a displacement amount is added to the above state and is used as new displacement amount data.
  • FIGS. 15 to 18 Projections 6 and 7 in FIGS. 15 and 16 are formed by pulling operations, and a recess 9 is formed by a recessing operation.
  • the centers of the projections 6 and 7 are set to be points F and G, respectively, and the center of the recess 8 is set to be a point H. If the primitive figure is a circle, the shape to be displayed is as shown in FIG. 19.
  • step S7 a sum of a plurality of displacement amounts is used to express curved surface displacement amounts as display curved surface data as follows:
  • ⁇ (x) i ⁇ i (x)
  • ⁇ (x) is a displacement amount at a position x of the outline of the primitive figure
  • ⁇ i (x) is a displacement amount at the position x of the outline of the primitive figure which is obtained by the ith parameter of the plurality of displacement data.
  • step S12 When the parameters are set in step S12, the number of the plurality of displacement data and the parameters of the displacement data are preserved. In this manner, when the displacement amount data is generated by using a plurality of displacement data, a complicated shape can be expressed by simple operations. The operator creates a new figure as if he creates a clay work on the display device 3.
  • displacement amount data is generated by using a Gaussian curve.
  • the present invention is not limited to only this.
  • points are input by using the P.D. 4 as in the conventional method, and the input points are sequentially connected to each other.
  • the generated curve does not indicate a final shape unlike the conventional case.
  • This shape serves as a graph showing displacement amounts of the respective points on the outline of the primitive outline. These input displacement amounts are pasted to the primitive figure to obtain a finished shape.
  • the preformed primitive figure information and displacement amount curve information consisting of displacement amounts from the reference point and mapped (pasted) with the outline shape of the primitive figure are provided, and displacement amounts are mapped on the outline of the primitive figures to obtain a new shape, thereby providing the following effects.
  • steps of defining the shape for drawing can be reduced.
  • operability and interrogation performance are improved.
  • Displacement amount data used for a primitive figure can be mapped on an outline of another primitive figure (e.g., displacement data mapped on the circumference of a circle is mapped on an ellipse, or displacement data mapped on the sides of a rectangle is mapped on a trapezoid) to easily generate another shape having a similar shape.
  • an outline of another primitive figure e.g., displacement data mapped on the circumference of a circle is mapped on an ellipse, or displacement data mapped on the sides of a rectangle is mapped on a trapezoid
  • displacement amount curve information consisting of displacement amounts is given by an operation expression (a Gaussian distribution or the like) prestored in a memory or input by an operator.
  • an operation expression a Gaussian distribution or the like
  • a primitive figure and displacement information are extracted from any input image to utilize the extracted displacement information as that of the first embodiment.
  • FIG. 21 is a view showing a relationship between a primitive figure and an outline figure.
  • a primitive FIG. 11 in FIG. 21 is a circle having a radius r.
  • the primitive figure is not limited to a circle, but may be any figure such as a square, a rectangle, an ellipse, or a triangle.
  • FIG. 12 has a line width of "1".
  • FIG. 21 shows an image after outline extraction is completed upon predetermined image processing.
  • the primitive figure is assumed as an array of dots equidistantly spaced apart from an origin O by a distance r. If an angle formed between a segment P 0 O on the primitive FIG. 11 and the x-axis is defined as ⁇ , coordinates of a given point P 0 are given as (rcos ⁇ ,rsin ⁇ ).
  • FIG. 23 is an enlarged view of part of FIG. 21.
  • the direction of displacement of the outline figure with respect to the primitive figure is a normal direction of the circle. If a given point on the outline figure is located outside the circle, this point has a positive displacement amount. However, if the given point on the outline figure is located inside the circle, this point has a negative displacement amount.
  • the definition of the direction of displacement is not limited to the one described above. That is, it is assumed that a point P is negatively displaced with respect to the point P 0 , and a point Q is positively displaced with respect to a point Q 0 in FIG. 21.
  • a displacement amount of the point P on the outline FIG. 12 with respect to the point P 0 is calculated.
  • a distance OP between the point P(x p ,y p ) and the origin 0 is calculated as ##EQU1##
  • the point P on the outline figure is defined to have a displacement amount ⁇ r with respect to the point P 0 determined by the angle ⁇ and located on the primitive figure.
  • the outline figure is represented as a displacement amount curve, as shown in FIG. 22.
  • the primitive figure information the primitive attribute as a circle and its radius r in this case
  • the displacement amount curve are given, the original outline figure can be reproduced.
  • the displacement amount reference is given by a displacement defined in the normal direction of the primitive figure with respect to the point P( ⁇ ,r) on the primitive figure which is represented by the angle ⁇ and the distance r from the origin O.
  • the respective points on the sides of a square are represented by distances from a reference point A on the side of the square as the displacement amount reference.
  • a direction from the inside of the square to the outside is positive at each point on a given side in the normal direction.
  • a distance between any point and the corresponding point of the primitive figure is defined as a displacement amount.
  • FIG. 24 shows an outline figure defined by displacement amounts from a primitive figure ABCD.
  • a point P on the outline FIG. 42 is taken as an example.
  • the point P can be expressed by displacement amounts from sides AB, BC, CD, and DA.
  • the smallest displacement amount P is defined as the displacement amount of the point P. Therefore, the point P is defined by a displacement amount ⁇ l from a point P 0 serving as a reference whose normal passes through the point P on the side AB.
  • FIG. 25 is a view showing displacement amounts of the respective points on the four sides with respect to the entire outline of the square ABCD. This will be described in detail below.
  • the entire outline length of the square ABCD is given as 24 and a reference point on a given side is given as A.
  • the point A is given as a point spaced part from the point P 0 by a distance of 2.3.
  • An intersection between the normal to the point P 0 and the outline figure is defined as the point P. Since the direction from the inside of the square ABCD to its outside is defined as a positive direction, the point P is defined as a point having a displacement of -0.5 from the point P 0 .
  • a point Q can be similarly represented.
  • the outline FIG. 42 can be expressed, as shown in FIG. 25.
  • the outline figure is obtained as a displacement amount curve consisting of the primitive figure and the displacement amounts from the primitive figure.
  • the above figure recognition method can be realized by a figure generating apparatus having an arrangement shown in FIG. 26.
  • a figure operation controller 61 comprises a computer.
  • the figure operation controller 61 performs figure operations, image processing, and the like.
  • An operator can input numeric values and codes with a keyboard 63 or can interrogatively input these numeric values and codes with a P.D. 62 while moving a cursor displayed on a display 64.
  • An image input device 67 comprises, e.g., a scanner or a camera.
  • a digital image received by the image input device 67 is temporarily stored in a frame memory 66 through a system bus 68 and is processed in accordance with programs stored in a ROM 61b under the control of a CPU 61a in the figure operation controller 61 which uses a RAM 61c as an auxiliary storage.
  • Image data stored in the frame memory 66 is converted into an analog signal by a D/A converter or the like in a display controller 65, and the analog signal is displayed on the display 64.
  • the hardware arrangement of the figure generating apparatus of this embodiment is obtained by adding the image input device 67 to the arrangement of the first embodiment shown in FIG. 13.
  • the CPU 61a of the figure operation controller 61 sets values which are not clearly designated by the operator. At the same time, the CPU 61a initializes a memory, registers, and pointers.
  • step S22 image data (binary, multivalue monochromatic, color data) are stored from the image input device 67 to the frame memory 66 through the bus 68.
  • step S23 the CPU 61a extracts an outline of the fetched image.
  • Various outline extraction algorithms have been proposed, and two of them are exemplified below.
  • An edge of an input image is emphasized by a differential operator such as one differential step, and binary processing is performed to reduce the thickness of the edge, thereby extracting an outline.
  • An edge of an input image is emphasized by a differential operator such as one differential step, binary processing operation is performed, and then outline tracking is performed.
  • Outline tracking is started with search for a start point for outline tracking. Tracking end marks are assigned to points found during tracking, and tracking progresses. When a tracking cycle is ended, one outline is obtained.
  • an outline figure having a line thickness of one pixel can be obtained.
  • the P.D. 62 is used to move a cursor to omit unnecessary portions or add desired lines and points.
  • the operator moves the P.D 62 while observing the display 64, thereby moving the cursor to the "input" item in a menu area 92 assigned in a display screen 93 of FIG. 29.
  • the button of the P.D. 62 is depressed, processing in step S22 is started. In this manner, the operator performs processing interrogatively while observing the display.
  • an input image 91 is displayed on the display screen 93, as shown in FIG. 29.
  • an outline extraction menu 102 shown in FIG. 30 is selected by using the P.D. 62.
  • the outline extraction processing described above is executed, and an image such as an outline figure 101 is displayed on a display screen 103. This image is stored as pixel value data at a predetermined address of the frame memory 66.
  • a primitive figure is selected and moved. Selection and movement of a primitive figure can be performed by designating a type, a size, and a position of a primitive figure by using the P.D. 62 or the keyboard 63.
  • An outline figure 115 and a primitive figure 114 are displayed as on a display screen 111 of FIG. 31.
  • step S26 a displacement amount curve shown in FIG. 22 with respect to a primitive figure (a circle in this case) can be obtained by the principle described above.
  • the displacement amount reference is given such that a direction from the inside of the circle to the outside of the circle represented by a radius r and an angle ⁇ formed between the x-axis (horizontal axis) and a line obtained by connecting any point on the circle and the center of the circle in the normal direction is defined as a positive direction.
  • primitive figure information attributetes, size, and position of the primitive figure
  • the displacement amount curve data are stored in a memory.
  • the outline figure defined as pixel values for two-dimensional addresses in the frame memory can be converted into another data form.
  • the original outline figure can be obtained.
  • the primitive figure information and the displacement amount curve information are obtained, a figure can be modified based on these pieces of information.
  • the CPU 61a of the figure operation controller 61 sets values which are not clearly designated by the operator. At the same time, the CPU 61a initializes a memory, registers, and pointers. In the following steps, operations such as numeric value setup, data conversion, and image movement are performed with the P.D. 62 as in the above embodiment.
  • step S32 a primitive figure to which a displacement amount is mapped is selected.
  • the CPU 61a determines in step S32 whether a displacement amount function is modified. If NO in step S33, the flow advances to step S35.
  • step S35 the displacement amounts are mapped on the primitive figure. For example, when a rectangle represented by P(l, ⁇ ) is selected as a primitive figure, a modification is performed to obtain an outline FIG. 122 shown in FIG. 32. Referring to FIG. 32, the primitive figure 121 is a square figure. The outline FIG. 122 is a figure obtained after mapping. In this manner, by changing only the primitive figure, the shape of the outline figure can be easily changed.
  • step S33 When a change in modification amount curve is changed in step S33, the modification amount curve is changed in step S34. A result obtained by a modification amount of 1/2 is shown in FIG. 33. Mapping onto a primitive FIG. 141 of FIG. 34 is performed by using the modification amount shown in FIG. 33 to display an outline figure in step S36. In this manner, the outline figure can be easily modified by simply modifying the displacement amount curve.
  • a shape can be intuitively recognized, and (ii) steps of defining the shape for drawing can be reduced. Thus, operability and interrogation performance are improved.
  • Displacement amount data used for a primitive figure can be mapped on an outline of another primitive figure to easily generate another shape having a similar shape.
  • a method of recognizing a figure wherein an image from a scanner or a camera is input, an outline of an object in an image is extracted, and its outline figure is recognized as shape modification data for generating a new figure.
  • a shape such as an actually existing object can be easily used for figure generation.
  • a method of generating a two-dimensional (planar) figure wherein various shapes can be generated on a primitive figure, and a shape pattern on a primitive figure can be utilized for another primitive figure to obtain a new outline shape.
  • steps of defining the shape for drawing can be reduced.
  • operability and interrogation performance are improved.
  • Displacement amount data used for a primitive figure can be mapped on an outline of another primitive figure to easily generate another shape having a similar shape.
  • a method of generating a two-dimensional (planar) figure wherein various shapes can be generated on a primitive figure, and a shape pattern on a primitive figure can be utilized for another primitive figure to obtain a new outline shape.
  • a normalized amount storage section 52c is arranged in the ROM 52 shown in FIG. 13 to store normalized displacement amount data
  • utilization of the normalized displacement amount data to primitive figures having different sizes and different inference routing procedures, or modifications of mapping positions of the same primitive figure can be facilitated.
  • the displacement amount data are normalized in step S15 in FIG. 36A.
  • the normalized displacement amount data are stored in the normalized amount storage section 52c.
  • the displacement amounts from the reference position are plotted along the ordinate, and the positions on an outline of a figure to be mapped are plotted along the abscissa.
  • a function is input from the keyboard.
  • a displacement amount curve is interrogatively plotted on a graph drawn on the display by using the P.D. 4 to allow the operator to arbitrarily create a displacement amount curve.
  • step S15 the range of values of x and the range of values of y (or ⁇ r(x)) are normalized.
  • the displacement amounts can be mapped on any primitive figure regardless of its outline.
  • the displacement amounts can be easily and selectively mapped on any portion of an outline of a primitive figure.
  • x and y respectively fall within the dynamic ranges of 0 ⁇ x ⁇ 7 and 0 ⁇ y ⁇ 4.5 with respect to the displacement amount curve of FIG. 37.
  • a displacement amount curve obtained by normalizing the above dynamic ranges within the ranges of 0 ⁇ x ⁇ 1 and -1 ⁇ y ⁇ 1 is shown in FIG. 38:
  • step S16 parameters necessary for displacement amounts to be mapped in step S17 are set. For example, the magnitudes of projections upon mapping can be adjusted by the magnitudes of the dynamic ranges of the displacement amounts. Various parameters are set to designate parts of the primitive figure to which the displacement amounts are to be mapped.
  • step S17 the displacement amounts stored in a displacement amount storage section 52b are actually mapped onto the primitive figure by using the data associated with the displacement amounts obtained in step S16 and the mapping data.
  • a primitive figure to be pasted is given as a circle having a radius of "3", as shown in FIG. 39, and a radially outward direction from the origin with respect to points on the circumference is defined as a positive direction for mapping.
  • Any point on the outline is represented by a distance l from a middle point A in FIG. 39 and is defined as Pl.
  • the circumferential length of the circle is given as 6 ⁇ , and the distance l falls within the range of 0 ⁇ l ⁇ 6 ⁇ .
  • a displacement amount of the point Pl in the radial direction is ⁇ r, and an angle ⁇ POA is given as ⁇ l
  • the point Ql to be mapped is plotted at a point displaced from the point Pl by ⁇ r cos ⁇ l on the x-axis and ⁇ r sin ⁇ l on the y-axis.
  • the displacement information normalized in step S15 is mapped on the basis of the parameters set in step S16.
  • FIG. 40 shows a case wherein a dynamic range of the distance l of the displacement amount curve of FIG. 38 is increased to the range of 0 ⁇ l ⁇ 6 ⁇ , the dynamic range of the distribution function r is set to be -1.0 ⁇ r ⁇ 1.0, and a point A is used as a start point so as to map the displacement amounts on an entire primitive figure 151, thereby obtaining a mapped outline figure 152.
  • FIG. 40 shows a case wherein a dynamic range of the distance l of the displacement amount curve of FIG. 38 is increased to the range of 0 ⁇ l ⁇ 6 ⁇ , the dynamic range of the distribution function r is set to be -1.0 ⁇ r ⁇ 1.0, and a point A is used as a start point so as to map the displacement amounts on an entire primitive figure 151, thereby obtaining a mapped outline figure 152.
  • FIG. 41 shows a case wherein the dynamic range of the displacement amount curve is increased to the range of 0 ⁇ l ⁇ 3, the dynamic range of the distribution function ⁇ r is set to be -1.0 ⁇ r ⁇ 1.0, and a point A is used as a start point so as to map the displacement amounts on one half of the outline of a primitive figure 161, thereby obtaining a mapped outline figure 162.
  • FIG. 42 shows a case wherein a dynamic range of the distance l of the displacement amount curve of FIG.
  • the dynamic range of the distribution function ⁇ r is set to be -1.0 ⁇ r ⁇ 1.0, and a point B is used as a start point, and then the dynamic range of the function ⁇ r is set to be -2.0 ⁇ r ⁇ 2.0, so as to map the displacement amounts on 1/4 of an entire primitive figure 171 counterclockwise, thereby obtaining a mapped outline figure 173.
  • step S18 the outline figures generated upon mapping as described above are stored in the frame memory by the output controller 54 and are displayed on the display device through a D/A display controller. As described above, since the displacement amount curve information is normalized, various outline figures can be easily obtained upon mapping.
  • the displacement amount curve information consisting of displacement amounts is given as the operator's inputs or the prestored operation expression (Gaussian distribution function).
  • a primitive figure and displacement information are extracted from an arbitrary input image to use the extracted information as displacement information of the previous information.
  • the above displacement information can be generated by a figure generating apparatus shown in FIG. 43.
  • the arrangement of this apparatus is similar to that of FIG. 26.
  • FIG. 44A An operation of this figure generating apparatus will be described with reference to a flow chart of FIG. 44A and views of FIGS. 44B and 44C. These operations are the same as those described with reference to FIGS. 27 to 31.
  • step S21 of all values used in this processing, a CPU 61a of a figure operation controller 61 sets values which are not clearly designated by an operator. At the same time, the CPU 61a initializes a memory, registers, and pointers.
  • step S22 image data (binary, multivalue chromatic, color data) from an image input device 67 is stored in a frame memory 66 through a bus 68. Processing for extracting an outline of fetched image is performed in step S23.
  • Various outline extraction algorithms have been proposed, and two of them are exemplified below.
  • An edge of an input image is emphasized by a differential operator such as one differential step, and binary processing is performed to reduce the thickness of the edge, thereby extracting an outline.
  • An edge of an input image is emphasized by a differential operator such as one differential step, binary processing operation is performed, and then outline tracking is performed.
  • Outline tracking is started with search for a start point for outline tracking. Tracking end marks are assigned to points found during tracking, and tracking progresses. When a tracking cycle is ended, one outline is obtained.
  • a P.D. 62 is used to move a cursor to omit unnecessary portions or add desired lines and points.
  • the operator moves the P.D. 62 while observing a display 64, thereby moving the cursor to the "input" item in a menu area assigned in a display screen.
  • the button of the P.D. 62 is depressed, processing in step S22 is started. In this manner, the operator performs processing interrogatively while observing the display.
  • an input image is displayed on the display screen.
  • an outline extraction menu is selected by using the P.D. 62.
  • the outline extraction processing described above is executed, and an image such as an outline figure 101 shown in FIG. 44B is displayed on a display screen. This image is the same as that obtained in FIG. 21. This image is stored as pixel value data at a predetermined address of the frame memory 66.
  • steps S24 and S25 a primitive figure is selected and moved. Selection and movement of a primitive figure can be performed by designating a type, a size, and a position of a primitive figure by using the P.D. 62 or a keyboard 63.
  • An outline figure 24a and a primitive figure 24b are displayed as on a display screen.
  • step S26 a displacement amount curve shown in FIG. 44C with respect to a primitive figure (a circle in this case) can be obtained by the principle described above.
  • a displacement amount ⁇ r having a positive value outside the reference position in the normal direction is plotted along the ordinate, and a distance l from the reference point on the outline of the mapped figure is plotted along the abscissa.
  • step S28 primitive figure information (attributes, size, and position of the primitive figure) and the displacement amount curve data are stored in a normalized amount storage section 52c.
  • the outline figure defined as pixel values for two-dimensional addresses in the frame memory 66 can be converted into another data form.
  • the original outline figure can be obtained.
  • the primitive figure information and the displacement amount curve information are obtained, a figure can be modified based on these pieces of information.
  • the displacement amount curve of FIG. 41 is a curve obtained when the circumferential length of the figure to be mapped is 2 ⁇ r, direct mapping cannot be performed for the ellipse 24c of FIG. 44D.
  • the dynamic range of the distance l of the displacement amount curve of FIG. 44D is normalized to be 0 ⁇ l ⁇ 1, and the dynamic range of the displacement amount ⁇ r is normalized to be -1.0 ⁇ r ⁇ 1.0.
  • the dynamic range of the distance l of the normalized displacement amount curve is multiplied with the circumferential length S of the ellipse.
  • the resultant figure obtained by mapping the displacement amounts with respect the points on the ellipse in the normal direction is a generated figure 24d shown in FIG. 44D.
  • Displacement amount data used for a primitive figure can be mapped on an outline of another primitive figure to easily generate another shape having a similar shape.
  • a method of generating a two-dimensional (planar) figure wherein various shapes can be generated on a primitive figure, and a shape pattern on a primitive figure can be utilized for another primitive figure to obtain a new outline shape.
  • FIG. 45A a shape shown in FIG. 45A is divided into simple, small portions (to be also referred to as parts hereinafter), and the small portions are caused to correspond to the existing outline portions of the outlines such as a circle, an ellipse, and a rectangle to store them in the form of displacement amount data, as shown in FIG. 45C.
  • FIG. 46A displacement amount data are added to the respective existing outlines of FIG. 46A to generate a new figure shown in FIG. 46B. Note that the original figure can be reproduced when the displacement amount data are obtained from FIG. 45C.
  • the displacement data are caused to correspond to the respective points on the outline of a primitive figure and are used to represent displacement positions from the points on the outline of the primitive figure in the normal direction of the outline.
  • the displacement data may be used as displacement amounts from the center of a primitive figure (e.g., an intersection of diagonal lines in a rectangle, or the center of an ellipse) in a radial line passing through each point on the outline of the primitive figure.
  • a characteristic feature of the figure generating apparatus for storing figures or realizing the generation method is a figure arrangement storage section 52d for arranging positions of the respective parts and their associative items in a RAM 52, as shown in FIG. 47. Other arrangements of this apparatus are the same as those in FIG. 13. An internal structure of the figure arrangement storage section 52d will be described below.
  • FIG. 48A shows a data format showing an arrangement of an entire edited figure.
  • This figure is defined as a set of a plurality of parts figures.
  • This set is defined as one data file in an external memory.
  • the parameter data of the respective parts have a list structure in a real memory so as to allow random editing.
  • the file includes data of a number 28a assigned to the entire unit of parts included in the file, an absolute position 28b of the entire unit of parts in the image, an entire angle 28c of rotation, an entire magnification 28d, and the number 28e of parts included in the entire unit.
  • FIG. 48B shows a detailed arrangement of a data format of each parts 28f. Each parts can be generated by pasting displacement amounts on the outline of the primitive figure.
  • each parts has a code 280a for designating a kind of primitive figure (e.g., a circle, an ellipse, or a rectangle), a parameter 280b for determining a size of the primitive figure, a relative position 280d in the entire primitive figure (i.e., a unit of shape as a set of parts), a pointer 280c for displacement data added to the surface of the primitive figure, an angle 280e of rotation in the entire unit of parts, and a magnification 280f.
  • a code 280a for designating a kind of primitive figure (e.g., a circle, an ellipse, or a rectangle)
  • a parameter 280b for determining a size of the primitive figure
  • a relative position 280d in the entire primitive figure i.e., a unit of shape as a set of parts
  • a pointer 280c for displacement data added to the surface of the primitive figure
  • an angle 280e of rotation in the entire unit of parts
  • FIG. 49A shows a data format of displacement data 29 in the displacement amount storage section which is pointed by the pointer 280c.
  • Displacement data in this embodiment uses a Gaussian distribution shape and includes n displacement data 29b as a total number 29a of control points.
  • Each displacement data 29b has data of ⁇ 290a (height of Gaussian distribution), x 0 290b (position of Gaussian distribution), and ⁇ 290c (range of Gaussian distribution) as parameters.
  • the arrangement of the primitive figures is determined in the data structure of the figure arrangement storage section 52d in accordance with the sequence shown in FIG. 50.
  • step S31 a primitive figure set with displaced data is displayed on the display device 3 and is edited to obtain image parts.
  • step S32 the operator sets an arrangement position, a magnification, and an angle with respect to the horizontal direction while observing a positional relationship on the screen. It is then determined in step S33 whether the arrangement of the parts is fixed under the set conditions. If NO in step S33, the flow advances to step S34 to continue parts editing, thereby determining whether the parameters are changed. If the parameters are to be changed, the flow returns to step S32 to set new parameter values again. If no parameter value setup is designated, the flow advances to step S35 to check whether interruption is designated. If YES in step S35, a series of operations is ended. However, if NO in step S35, the flow advances to step S36 to determine whether a restart command is input. If NO in step S36, the flow returns to step S33 to check a series of designations instructed by the operator.
  • step S36 If YES in step S36, the flow advances to step S37, all existing edited data stored in the real memory are cleared, and a parts display is set in an initial state.
  • the initial state indicates a default value of the apparatus.
  • step S38 the parts are displayed again in accordance with the default value set in step S37.
  • step S33 when fixing designation is determined, all the existing parts edited data stored in a temporary storage area are written in a memory table having data formats shown in FIG. 48A and 48B. It is determined in step S40 whether processing advances to other parts. When designation for specifying an advance to the next primitive figure is determined, the flow returns to step S31 to edit the next parts. When designation for shifting editing to the next primitive figure is not allowed, edited data shown in FIGS. 48A and 48B are stored in an external memory in step S41.
  • a method of generating displacement amount data is not limited to the Gaussian distribution as in the next figure processing command in this embodiment.
  • a figure drawn on an existing illustration book is read, an outline of a read figure is extracted (e.g., processing by a quadratic differential operator or the like), and the figure is separated into parts.
  • Primitive figures having appropriate sizes are applied to the outline of each parts, and distances (e.g., an intersection between an extracted outline and a line obtained by connecting the central point of a primitive figure and each point on the outline of the primitive figure is defined as an extracted curve point corresponding to the point on the outline of the primitive figure) may be stored as change data.
  • the CPU 61a of the figure operation controller 61 sets values which are not clearly set by the operator. At the same time, the CPU 61a initializes a memory, registers, and pointers.
  • image data e.g., binary, multivalue monochromatic, or color image data
  • step S53 image data (e.g., binary, multivalue monochromatic, or color image data) is stored from the image input I/O device 67 to the frame memory 66 through the bus 68.
  • step S53 the outline of the fetched image is extracted in the same manner as in step S23. This state is shown in FIG. 45A.
  • step S54 the figure is separated into portions (parts), as shown in FIG. 45A. Note that the number of displacement data from a primitive figure stored in the apparatus should not exceed a predetermined value.
  • steps S55 and S56 a primitive figure is selected and moved. Selection and movement are performed to designate a kind of primitive figure, its size, and its position with the P.D. 62 and the keyboard 63. It is determined in step S57 whether a position of a primitive figure is settled. If YES in step S57, the flow advances to step S58 to store a primitive figure position.
  • step S59 a displacement amount curve for the primitive figure is obtained in accordance with the principle described previously.
  • step S60 the displacement amounts are stored in correspondence with the primitive figure.
  • the CPU 61a determines in step S60
  • step S61 whether all parts constituting all parts are processed. If NO in step S61, the flow returns to step S55, and separation of the primitive figures of other parts from the displacement amounts is performed.
  • the primitive figure arrangement, the primitive figure data (e.g., attributes, sizes, and positions of the primitive figures), and the displacement amount curve data of each primitive figure are stored in the memory.
  • the outline figure defined as pixel values for two-dimensional addresses in the frame memory 66 is converted into another data form.
  • the original outline figure can be obtained.
  • the primitive figure data and the displacement amount curve data are obtained, the figure is modified on the basis of the resultant data.
  • each figure constituting an original figure is separated into local elements, and local figures modified in units of constituting elements are combined to arrange a figure.
  • a more complex shape can be generated interrogatively with good operability as compared with the conventional technique. Parts of given shape data are utilized and combined to obtain another shape.
  • a method of easily generating a two-dimensional (planar) figure wherein various shapes are formed on the primitive figures, and a shape pattern realized on a primitive figure can be utilized for another primitive figure to obtain a new outline shape.
  • a method of generating a figure which can be easily utilized for primitive figures having different sizes (e.g., the lengths of long and short sizes of rectangles and the major and minor axes of ellipses) and different kinds of primitive figures (e.g., an ellipse, a rectangle, and a triangle).
  • primitive figures having different sizes (e.g., the lengths of long and short sizes of rectangles and the major and minor axes of ellipses) and different kinds of primitive figures (e.g., an ellipse, a rectangle, and a triangle).
  • any shapes obtained by mapping displacement amounts on the outline of a primitive figure are defined as parts, and these parts are connected and arranged to edit a figure, thereby easily and interrogatively generating a more complex shape.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

A figure processing apparatus includes a pointing device or keyboard for extracting an outline figure from image data, a memory for storing the outline figure as shape and position data of a primitive figure and displacement data from the primitive figure, and a figure operation device for changing the displacement data to modify the outline figure to create a new outline figure.

Description

This application is a continuation of application Ser. No. 08/137,812 filed Oct. 19, 1993, now abandoned, which is a continuation of application Ser. No. 07/911,786 filed Jul. 10, 1992 abandoned, which is a continuation of application Ser. No. 07/476,619 filed Feb. 7, 1990, abandoned.
BACKGROUND OF THE INVENTION:
1. Field of the Invention
The present invention relates to figure recognition processing and, more particularly, to processing for recognizing a two-dimensional (planar) figure.
2. Related Background Art
A conventional electro-publishing (electronic publishing) apparatus and a conventional desk-top publishing (portable electronic publishing) apparatus employs the following method of generating figures such as cuts and illustrations. Data of basic figures (to be referred to as primitive figures) such as rectangles and circles are prepared, and these primitive figures are combined to generate a new figure as needed. According to another conventional method of this type, points on an outline or edge to be created are designated as control points, and lines which pass through the control points are connected by using straight lines, curves, and parabolas.
According to these conventional methods, the outlines of the primitive figures are used as basic shapes, and these basic shapes are combined to obtain a desired figure. In practice, satisfactory figures can be created as far as these methods are applied to simple maps, simple block diagrams, and simple wiring diagrams.
Figures such as those of animation characters and abstract objects (e.g., animals, men, and vehicles) may often be impressive when they are expressed by shapes different from those of the primitive outlines. In this case, graphic expressions obtained by only the conventional primitive-figures are unsatisfactory.
When a new figure is created by connecting only control points, the number of points is increased and the drawing procedures are complicated, resulting in inconvenience.
There has never been proposed a method using outlines of natural pictures and objects for new illustrations.
Strong demand has also arisen for utilizing already existing image and object shapes so as to omit operations for creating new figures. For example, an existing shape is used after being modified to a "cylindrical" shape or a "barrel" shape. These demands cannot be sufficiently satisfied, and input operations must be started from the beginning to obtain a desired new shape.
SUMMARY OF THE INVENTION
The present invention has been made in consideration of the conventional drawbacks described above, and has as its object to provide a figure processing apparatus for inputting an image from a scanner or camera, extracting an outline of an object from the image, and recognizing an extracted outline figure as shape modification data for obtaining a new figure.
It is another object of the present invention to provide a figure processing apparatus for extracting an outline figure from image information, and recognizing the outline figure as shape information and position information of a primitive figure as well as displacement information representing a displacement from the primitive figure.
It is still another object of the present invention to provide a figure processing apparatus for changing the displacement information and creating a new outline to modify the outline figure.
It is still another object of the present invention, in consideration of the conventional drawbacks described above, to provide a figure processing apparatus for storing primitive figure shape information, creating displacement information representing a displacement from a primitive figure, and adding the shape information and the displacement information of the primitive figure as shape information of a two-dimensional figure.
It is still another object of the present invention to provide a figure processing apparatus wherein the displacement information is stored in the form of a displacement position, a displacement range, and a maximum or minimum displacement amount.
It is still another object of the present invention to provide a figure processing apparatus for obtaining the displacement information from a displacement from a primitive figure of an outline figure extracted from image information.
It is still another object of the present invention to provide a figure processing apparatus for obtaining a new shape by mapping (pasting) the outline shape information of a plurality of preformed primitive figures with displacement amounts from a reference point of the shape in a reference direction.
The present invention has been made in consideration of the conventional drawbacks described above, and has as its still another object to provide a method of forming a two-dimensional (planar) figure, wherein various shapes can be formed on a primitive figure, and a shape pattern realized on a primitive figure can be utilized for another primitive figure, thereby easily forming another outline shape.
The present invention has been made in consideration of the conventional problems described above, and has as its still another object to provide a figure processing apparatus for processing a two-dimensional (planar) figure, wherein various shapes can be formed on a primitive figure, and a shape pattern realized on a primitive figure can be utilized for another primitive figure, thereby easily forming another outline shape.
It is still another object of the present invention to provide a figure processing apparatus for easily utilizing processing for primitive figures (e.g., the lengths of long and short sides of a rectangle and the major and minor axes of an ellipse) having different sizes and different types (e.g., an ellipse, a rectangle, and a triangle) of primitive figures.
It is still another object of the present invention to provide a figure processing apparatus wherein an entire image of a desired finished figure can be assumed based on primitive figures, and local modifications and shape correction can be interrogatively performed on the primitive figures, thereby easily forming a complicated shape.
It is still another object of the present invention to provide a figure processing apparatus capable of defining as parts any shapes obtained by mapping displacement amounts on outlines of primitive figures, connecting and arranging these parts to perform editing, and interrogating to form a complicated shape.
It is still another object of the present invention to provide a figure processing apparatus capable of normalizing and storing displacement information obtained as a displacement from a primitive figure, and changing the size of the normalized displacement information into a desired size to map the size-changed displacement information with the primitive figure, thereby obtaining outline information of the figure.
It is still another object of the present invention to provide a figure processing apparatus for separating a figure into a plurality of partial shapes and defining the separated partial shapes by the primitive figures, their positions and displacement information therefrom.
According to the present invention, the plurality of partial shapes represented by the primitive figures and the displacement information representing displacements from the primitive figures are edited and arranged to obtain a desired figure.
Editing for obtaining a desired figure from the partial shapes is performed by using only the primitive figures. After the entire arrangement of the partial shapes is determined, displacement information is added to create a new figure.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a view showing a shape as a first primitive shape for explaining the principle of the first embodiment;
FIG. 2 is a view showing first displacement amount data for explaining the principle of the first embodiment;
FIG. 3 is a view obtained by FIGS. 1 and 2;
FIG. 4 is a view showing a shape as a second primitive shape for explaining the principle of the first embodiment;
FIG. 5 is a view showing second displacement amount data for explaining the principle of the first embodiment;
FIG. 6 is a view obtained by FIGS. 4 and 5 according to the first embodiment;
FIG. 7 is a view showing a first shape obtained by the first embodiment as displacement amount data of FIG. 8;
FIG. 8 is a view showing the displacement amount data used to obtain the first shape of FIG. 7 and a second shape of FIG. 9 according to the first embodiment;
FIG. 9 is a view showing the second shape obtained as the displacement amount data of FIG. 8 according to the first embodiment;
FIG. 10 is a view showing an arrangement of a figure generating apparatus for practicing the first embodiment;
FIGS. 11 and 12 are views for explaining operations of the first embodiment;
FIG. 13 is a block diagram of a figure generating apparatus for practicing the first embodiment;
FIGS. 14A and 14B are flow charts for explaining an operation of the figure generating apparatus of the first embodiment;
FIGS. 15 to 19 are views for explaining modifications of the first embodiment;
FIG. 20 is a view for explaining another modification of the first embodiment;
FIG. 21 is a view showing a relationship between a primitive figure and an outline figure for explaining the principle of the second embodiment;
FIG. 22 is a view for explaining displacement amount data so as to explain the principle of the second embodiment;
FIG. 23 is a view for further explaining the relationship of FIG. 21;
FIG. 24 is a view showing a relationship between a primitive figure and an outline figure;
FIG. 25 is a view showing displacement amount data of FIG. 24;
FIG. 26 is a view showing an arrangement of a figure generating apparatus of the second embodiment;
FIG. 27 is a flow chart for explaining an operation of the figure generating apparatus of the second embodiment;
FIG. 28 is a flow chart for explaining another operation of the figure generating apparatus of the second embodiment;
FIGS. 29, 30, and 31 are views showing display contents of a display device of the figure generating apparatus of the second embodiment;
FIGS. 32 and 34 are views showing results obtained by executing the modifications of the second embodiment;
FIG. 33 is a view for explaining displacement amount data of the modifications of the second embodiment;
FIG. 35 is a view showing an arrangement for storing normalized displacement amount data;
FIG. 36A is a flow chart showing normalization of the displacement amount data;
FIG. 36B is a flow chart showing steps of generating a figure from the normalized displacement amount;
FIG. 37 is a view showing non-normalized displacement amount data;
FIG. 38 is a view showing normalized displacement amount data of FIG. 37;
FIG. 39 is a view showing a primitive figure used in mapping of FIGS. 20 to 22;
FIGS. 40 to 42 are views showing figures obtained by mapping normalized displacement amount data under different conditions;
FIG. 43 is a view showing another arrangement of a figure processing apparatus according to still another embodiment of the present invention;
FIG. 44A is a flow chart for explaining an operation of the figure generating apparatus in FIG. 43;
FIG. 44B is a view for explaining an outline figure and a primitive figure from an input image;
FIG. 44C is a view showing displacement amount data obtained from an input image;
FIG. 44D is a view showing displacement amount data (FIG. 44C) mapped with an ellipse;
FIG. 45A is a view showing a figure which is decomposed into parts;
FIG. 45B is a view showing a state wherein the figure of FIG. 25A is separated into simple portions;
FIG. 45C is a view showing a state wherein the respective parts of FIG. 45B are matched with primitive figures;
FIG. 46A is a view showing a rough shape of an original figure obtained by using only primitive figures;
FIG. 46B is a view showing a figure obtained by FIG. 46A;
FIG. 47 is a view showing an arrangement of a figure generating apparatus for separating a figure into parts;
FIG. 48A is a view showing a format of edited data;
FIG. 48B is a view showing a format of parts data of a shape;
FIG. 49A is a view showing a format of displacement data;
FIG. 49B is a view showing a format of one displacement amount data of the displacement data;
FIG. 50 is a flow chart showing editing procedures of shape parts; and
FIG. 51 is a flow chart showing procedures for generating shape parts.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [First Embodiment] Description of Principles
The principles of an embodiment of the present invention will be described in detail. In this embodiment, displacement amount data shown in FIG. 2 or 5 is added to a corresponding position of an existing outline (to be referred to as a primitive figure hereinafter) such as a circle (FIG. 1) or a rectangle (FIG. 4), and a shape outline of a new figure is obtained as a sum of the existing outline and the displacement amount data.
(First Example)
FIG. 1 is a view showing a circle having a radius ra. Assume a point P(ra, θa) having an angular interval of θa from the reference (r-axis of FIG. 1) on the polar coordinate system. In a graph of FIG. 2, displacement amounts from the reference position are plotted along the ordinate, and outline positions of a primitive figure to be mapped are plotted along the abscissa. Each point on the circumference can be expressed with an angle within the range of 0 to 2π formed between a horizontal line and a line obtained by connecting each point and the center of the circle. FIG. 3 shows a synthesized outline when a relationship between the displacement amounts and the outline positions of the primitive figure defined in FIG. 2 is given such that the range (i.e., 0 to 2π) of points on the circumference corresponds to the abscissa and the displacements (a direction from the center of the circle to the circumference is defined as a positive direction) toward the normal direction from each point on the circumference corresponds to the ordinate.
According to this relationship, if a displacement amount corresponding to the angle θa is defined as Δra, the point P(raa) on the outline of the primitive figure corresponds to a synthesized point Q(ra +Δraa), as shown in FIG. 1. In the example of FIG. 2, the displacement values are given as "1" for (2n+1)π/8 (n =0, 1, 2, . . . 7), "0" for 2n π/8 (n=0, 1, 2, . . . 8), and values obtained by sequentially connecting points of mπ/8 (m=0, 1, 2, . . . 16) for other outline positions of the primitive figure.
(Second Example)
FIG. 4 shows a rectangle having a long side length of "7" and a short side length of "5". FIG. 5 is a graph showing displacement amounts of points on the respective sides with respect to the entire outline of the rectangle shown in FIG. 4. When positions on the four sides of the rectangle shown in FIG. 4 are used as reference positions, and a direction from the inside the rectangle toward the outside in the normal direction of each position on any side of the rectangle is defined as a positive direction, a given position is synthesized with a displacement amount (to be also referred to as pasting or mapping) shown in FIG. 5 to obtain an outline shape shown in FIG. 6. The example shown in FIGS. 4 to 6 is shown on the orthogonal coordinate system.
In the example of FIG. 5, displacement amount data Δr(x) at a position x on the outline of the primitive figure is defined as follows:
Δr(x)=Δr.sub.0 ×EXP[-((x-x.sub.0)/σ).sup.2 ]. . . (1)
That is, the position x0 on the outline of the primitive figure is given as the center, and a displacement amount distribution as a Gaussian distribution having a maximum displacement amount Δra is defined. Positions having a displacement amount of Δra ×1/e (where e is the base of the Napierian logarithm) are positions (x0 +σ and x0 -σ) on the outline of the primitive figure, i.e., positions away by a distance σ from the position x0. If the displacement amount Δra is negative, a recessed Gaussian distribution can be realized. Referring to FIG. 6, a projecting Gaussian distribution of Δra =1 and σ=2 is present at the point a, and a recessed Gaussian distribution of Δra =-2 and σ=1 is present at the point b.
(Third Example)
Data (FIGS. 2 and 5) of a displacement amount for a corresponding position on the original outline need not be caused to correspond to only the outline of a single primitive figure (FIG. 1 for FIG. 2, and FIG. 5 for FIG. 4). That is, displacement data shown in FIG. 8 may be mapped on outlines of different types of primitive figures, as shown in FIG. 7 and 9.
FIG. 7 shows mapping of displacement data defined in FIG. 8 on the four sides (length: 24) of a rectangle having a long side length of "8" and a short side length of "4". The origin on the abscissa of FIG. 8 is caused to correspond to the position of a point E in FIG. 7; the position of "8" on the abscissa, to a point F; "12" to a point G; "20" to a point H; and "22" the point E again.
As shown in FIG. 9, with reference to a radius of rotation in the r direction, a point on the circumference at zero angle (in this case, a clockwise angle is a positive angle) is caused to correspond to the origin of the abscissa of FIG. 8; a point a, to "π/3"; a point c, to "5 π/6", a point b, to "4 π/3", and a point d, to "11π/6". In this case, a direction of displacement from the inside the circle to its outside at circumferential points in the normal direction is a positive direction.
As will be described in detail with reference to the second embodiment, a natural image may be input by a scanner or the like, and an outline (outline of a building or equipment) in an input original image, an appropriate size, and an interval distance between primitive figures may be used to define displacement amount data.
(Arrangement of Figure Generating Apparatus of This Embodiment)
A method of generating a figure described above can be realized by a figure generating apparatus having an arrangement shown in FIG. 10.
Referring to FIG. 10, a figure operation device 1 comprises a computer. A primitive figure and shape position information defined by equation (1) are converted into video signals by a figure display control device 2. The video signals are then displayed on a display device 3 as a CRT display device. The figure operation device 1 designates a primitive figure serving as the base of outline shape formation and causes a pointing device (P.D.) 4 and a keyboard 5 to input parameters necessary for displacement amount operations of equation (1) in accordance with a display of the display device 3.
For example, as shown in FIG. 12, the primitive figure serving as the base of figure generation is selected such that a prepared primitive figure list is displayed on the display device 3, a cursor on the screen is moved by using the P.D. 4, and a button of the P.D. 4 is depressed at a desired primitive figure.
A list of modification operations (e.g., pulling, recessing, bending, and expanding) prepared as shown in FIG. 10 is displayed on the display device 3, and a desired modification operation is selected with the P.D 4 in the same manner as in selection of the primitive figure.
As shown in FIG. 11, the displacement amount represented by equation (1) is designated by inputting values for setting a modification area on the display device 3. In the display method of FIG. 11, the right portion of the screen is used as an operation area for setting various values, and the remaining area is used as an area for displaying set values. Values in equation (1) are selected by, e.g., "wide", "normal", and "narrow" values aw, a0, and an to define rough values. These rough values are finely adjusted to perform fine correction.
As shown in FIG. 10 or 11, the position of the center of modification is designated as follows. A primitive figure displayed in the figure display area is shifted by a cursor with the P.D. 4 on the screen, and the button of the P.D. 4 is depressed at a desired position. In this case, the depressed position serves as the center of the displacement amount distribution. When the P.D. 4 is moved while its button is kept depressed, a maximum value Δra of the displacement amount can be determined in accordance with a movement amount of the P.D. 4.
FIG. 13 shows a hardware arrangement of an apparatus for realizing the figure generating method of this embodiment. A display device 3, a P.D. 4, and a keyboard 5 are the same as those shown in FIG. 10.
The apparatus includes a CPU 50 for performing arithmetic operations and control in accordance with programs, a ROM 51 for storing programs, a RAM 52 having a primitive figure storage section 52a for storing primitive figures and a displacement amount storage section 52b for storing displacement amounts, an I/O controller 53 for controlling inputs from the P.D. 4 and the keyboard 5, and an output controller 54 for controlling outputs to the display device 3.
The modification operations are performed by the CPU 50 in accordance with flow charts (FIGS. 14A and 14B) corresponding to the programs stored in the ROM 51.
In step S1, of all values used in this step, the CPU 50 sets values which are not specified by an operator. At the same time, the CPU 50 initializes a memory and pointers to be used.
In step S2, as shown in FIG. 12, the primitive shapes prestored in the primitive figure storage section 52a are displayed on the display device 3. The operator selects a desired primitive figure with the P.D. 4. In step S3, as shown in FIG. 10, the types of modification operations prepared in the displacement amount storage section 52b are displayed on the display device 3. The operator selects a desired type of modification operation with the P.D. 4. The CPU 50 determines in step S4 whether the operation selected in step S3 modifies the entire primitive figure or part of the outline shape of the primitive figure. When the primitive figure itself is modified (e.g., bending such as a change from a rectangle to a saddle-like shape, and expanding such as a change from a horizontally extending rectangle to a vertical extending rectangle), associate routines are performed in step S11. The flow advances to step S7 to display a processed figure.
However, when a pulling or recessing operation is designated, the flow advances to step S5. As shown in FIG. 11, a size of the modification area is designated with the P.D. 4. In step S6, a position of the center of modification and a modification amount are designated with the P.D. 4 by using the shape data displayed on the left side of the display screen of FIG. 11. In step S7, synthesized outline figure data is calculated from the types of primitive figure and modification operation, the modification position on the outline of the primitive figure, and displacement amount information. In step S8, figure data modified in step S7 is displayed on the display device 3 through the output controller 54.
In this state, the CPU 50 causes the output controller 54 and the display device 3 to continuously display the modified figure data. The CPU 50 causes the operator to determine in step S9 whether the degree of modification satisfies the operator's request while the CPU 50 allows the operator to observe the display of the display device 3. Thereafter, the CPU 50 advances to step S10 to determine whether an end signal is input after the CPU 50 determines that no further correction is required by the operator. In this case, when a correction signal which represents a further correction operation is input, the flow returns to step S2, and the CPU 50 is ready for receiving new parameters. In this case, the operator resets new parameters in steps S2 to S6 to perform the operations by the modification equation in steps S7 and S8. The corrected values are displayed on the display device 3. The CPU 50 determines in step S9 whether a modification satisfies the operator's request.
The CPU 50 repeats the loop of steps S2 to S10 until the operator is satisfied with the modification, thereby generating a new figure. When the operator is satisfied with the output result and judges that no further correction is required, he inputs an end signal. Then, the CPU 50 stores the data (the type of primitive figure, the size of the modification area, the position of the center of modification, and the size of modification) in step S12 at positions of the displacement amount storage section 52b designated by a counter of a data memory table and then increments the count of the counter. The CPU 50 determines in step S14 whether next curve data is to be generated on the basis of the decision of the operator. When the next data is to be generated, the flow returns to step S2.
In this embodiment, when the flow returns to step S3 since the CPU 50 determines that correction is required, all the operations in steps S2 to S6 need not always be performed again. The state immediately before return to step S2 may be held to allow additional modification. In this case, a displacement amount is added to the above state and is used as new displacement amount data. This state is shown in FIGS. 15 to 18. Projections 6 and 7 in FIGS. 15 and 16 are formed by pulling operations, and a recess 9 is formed by a recessing operation. The centers of the projections 6 and 7 are set to be points F and G, respectively, and the center of the recess 8 is set to be a point H. If the primitive figure is a circle, the shape to be displayed is as shown in FIG. 19.
The above operation can be expressed by flow charts of FIGS. 14A and 14B. The values set in steps S2 to S6 in the state immediately before return to step S2 are used without changes. Displacement amounts are sequentially added, and parameters of the respective displacement amount data are stored. In the operation of step S7, a sum of a plurality of displacement amounts is used to express curved surface displacement amounts as display curved surface data as follows:
Δγ(x)=i ΣΔγi (x) where Δγ(x) is a displacement amount at a position x of the outline of the primitive figure, and Δγi (x) is a displacement amount at the position x of the outline of the primitive figure which is obtained by the ith parameter of the plurality of displacement data.
When the parameters are set in step S12, the number of the plurality of displacement data and the parameters of the displacement data are preserved. In this manner, when the displacement amount data is generated by using a plurality of displacement data, a complicated shape can be expressed by simple operations. The operator creates a new figure as if he creates a clay work on the display device 3.
In the above embodiment, displacement amount data is generated by using a Gaussian curve. However, the present invention is not limited to only this.
As shown in FIG. 20, points are input by using the P.D. 4 as in the conventional method, and the input points are sequentially connected to each other. However, the generated curve does not indicate a final shape unlike the conventional case. This shape serves as a graph showing displacement amounts of the respective points on the outline of the primitive outline. These input displacement amounts are pasted to the primitive figure to obtain a finished shape.
As described above, the preformed primitive figure information and displacement amount curve information consisting of displacement amounts from the reference point and mapped (pasted) with the outline shape of the primitive figure are provided, and displacement amounts are mapped on the outline of the primitive figures to obtain a new shape, thereby providing the following effects.
(1) Unlike the conventional technique in which a shape is created from nothing, a new shape can be created by using primitive figures, so that
(i) a shape can be intuitively recognized, and
(ii) steps of defining the shape for drawing can be reduced. Thus, operability and interrogation performance are improved.
(2) Displacement amount data used for a primitive figure can be mapped on an outline of another primitive figure (e.g., displacement data mapped on the circumference of a circle is mapped on an ellipse, or displacement data mapped on the sides of a rectangle is mapped on a trapezoid) to easily generate another shape having a similar shape. [Second Embodiment]
(Description of Principles)
The principles of this embodiment will be described below. In the first embodiment, displacement amount curve information consisting of displacement amounts is given by an operation expression (a Gaussian distribution or the like) prestored in a memory or input by an operator. However, in the second embodiment, a primitive figure and displacement information are extracted from any input image to utilize the extracted displacement information as that of the first embodiment.
(Fourth Example)
FIG. 21 is a view showing a relationship between a primitive figure and an outline figure. A primitive FIG. 11 in FIG. 21 is a circle having a radius r. The primitive figure is not limited to a circle, but may be any figure such as a square, a rectangle, an ellipse, or a triangle.
An outline FIG. 12 has a line width of "1". FIG. 21 shows an image after outline extraction is completed upon predetermined image processing. The primitive figure is assumed as an array of dots equidistantly spaced apart from an origin O by a distance r. If an angle formed between a segment P0 O on the primitive FIG. 11 and the x-axis is defined as θ, coordinates of a given point P0 are given as (rcosθ,rsinθ).
FIG. 23 is an enlarged view of part of FIG. 21. In this example, the direction of displacement of the outline figure with respect to the primitive figure is a normal direction of the circle. If a given point on the outline figure is located outside the circle, this point has a positive displacement amount. However, if the given point on the outline figure is located inside the circle, this point has a negative displacement amount. However, the definition of the direction of displacement is not limited to the one described above. That is, it is assumed that a point P is negatively displaced with respect to the point P0, and a point Q is positively displaced with respect to a point Q0 in FIG. 21.
A displacement amount of the point P on the outline FIG. 12 with respect to the point P0 is calculated. A distance OP between the point P(xp,yp) and the origin 0 is calculated as ##EQU1##
Since OP=r is given, a displacement amount Δr of the point P with respect to the point P0 is given as follows:
If OP≧OP0, then ##EQU2##
If OP<OP0, then ##EQU3##
In this manner, the point P on the outline figure is defined to have a displacement amount Δr with respect to the point P0 determined by the angle θ and located on the primitive figure. When the angle θ is changed from 0 to 2π, the outline figure is represented as a displacement amount curve, as shown in FIG. 22. In other words, if the primitive figure information (the primitive attribute as a circle and its radius r in this case) and the displacement amount curve are given, the original outline figure can be reproduced.
(Fifth Example)
In the above example, the displacement amount reference is given by a displacement defined in the normal direction of the primitive figure with respect to the point P(θ,r) on the primitive figure which is represented by the angle θ and the distance r from the origin O.
The respective points on the sides of a square are represented by distances from a reference point A on the side of the square as the displacement amount reference. A direction from the inside of the square to the outside is positive at each point on a given side in the normal direction. A distance between any point and the corresponding point of the primitive figure is defined as a displacement amount.
FIG. 24 shows an outline figure defined by displacement amounts from a primitive figure ABCD. A point P on the outline FIG. 42 is taken as an example. The point P can be expressed by displacement amounts from sides AB, BC, CD, and DA. In this case, the smallest displacement amount P is defined as the displacement amount of the point P. Therefore, the point P is defined by a displacement amount Δl from a point P0 serving as a reference whose normal passes through the point P on the side AB.
FIG. 25 is a view showing displacement amounts of the respective points on the four sides with respect to the entire outline of the square ABCD. This will be described in detail below. The entire outline length of the square ABCD is given as 24 and a reference point on a given side is given as A. The point A is given as a point spaced part from the point P0 by a distance of 2.3. An intersection between the normal to the point P0 and the outline figure is defined as the point P. Since the direction from the inside of the square ABCD to its outside is defined as a positive direction, the point P is defined as a point having a displacement of -0.5 from the point P0. A point Q can be similarly represented. When a distance l from the point A is changed from "0" to "24", the outline FIG. 42 can be expressed, as shown in FIG. 25.
As described above, the outline figure is obtained as a displacement amount curve consisting of the primitive figure and the displacement amounts from the primitive figure.
(Arrangement of Figure Generating Apparatus of This Embodiment)
The above figure recognition method can be realized by a figure generating apparatus having an arrangement shown in FIG. 26.
Referring to FIG. 26, a figure operation controller 61 comprises a computer. The figure operation controller 61 performs figure operations, image processing, and the like. An operator can input numeric values and codes with a keyboard 63 or can interrogatively input these numeric values and codes with a P.D. 62 while moving a cursor displayed on a display 64. An image input device 67 comprises, e.g., a scanner or a camera. A digital image received by the image input device 67 is temporarily stored in a frame memory 66 through a system bus 68 and is processed in accordance with programs stored in a ROM 61b under the control of a CPU 61a in the figure operation controller 61 which uses a RAM 61c as an auxiliary storage. Image data stored in the frame memory 66 is converted into an analog signal by a D/A converter or the like in a display controller 65, and the analog signal is displayed on the display 64.
The hardware arrangement of the figure generating apparatus of this embodiment is obtained by adding the image input device 67 to the arrangement of the first embodiment shown in FIG. 13.
An operation of the figure generating apparatus of this embodiment will be described with reference to a flow chart in FIG. 27.
Of various values used in this processing, the CPU 61a of the figure operation controller 61 sets values which are not clearly designated by the operator. At the same time, the CPU 61a initializes a memory, registers, and pointers.
In step S22, image data (binary, multivalue monochromatic, color data) are stored from the image input device 67 to the frame memory 66 through the bus 68. In step S23, the CPU 61a extracts an outline of the fetched image. Various outline extraction algorithms have been proposed, and two of them are exemplified below.
(1) An edge of an input image is emphasized by a differential operator such as one differential step, and binary processing is performed to reduce the thickness of the edge, thereby extracting an outline.
(2) An edge of an input image is emphasized by a differential operator such as one differential step, binary processing operation is performed, and then outline tracking is performed. Outline tracking is started with search for a start point for outline tracking. Tracking end marks are assigned to points found during tracking, and tracking progresses. When a tracking cycle is ended, one outline is obtained.
By these outline extraction methods, an outline figure having a line thickness of one pixel can be obtained. If necessary, the P.D. 62 is used to move a cursor to omit unnecessary portions or add desired lines and points. When the operation in step S22 is to be performed, the operator moves the P.D 62 while observing the display 64, thereby moving the cursor to the "input" item in a menu area 92 assigned in a display screen 93 of FIG. 29. When the button of the P.D. 62 is depressed, processing in step S22 is started. In this manner, the operator performs processing interrogatively while observing the display. When the operation in step S22 is completed, an input image 91 is displayed on the display screen 93, as shown in FIG. 29.
In order to execute the operation in step S23, an outline extraction menu 102 shown in FIG. 30 is selected by using the P.D. 62. The outline extraction processing described above is executed, and an image such as an outline figure 101 is displayed on a display screen 103. This image is stored as pixel value data at a predetermined address of the frame memory 66.
In steps S24 and S25, a primitive figure is selected and moved. Selection and movement of a primitive figure can be performed by designating a type, a size, and a position of a primitive figure by using the P.D. 62 or the keyboard 63. An outline figure 115 and a primitive figure 114 are displayed as on a display screen 111 of FIG. 31.
In step S26, a displacement amount curve shown in FIG. 22 with respect to a primitive figure (a circle in this case) can be obtained by the principle described above. The displacement amount reference is given such that a direction from the inside of the circle to the outside of the circle represented by a radius r and an angle θ formed between the x-axis (horizontal axis) and a line obtained by connecting any point on the circle and the center of the circle in the normal direction is defined as a positive direction. In step S27, primitive figure information (attributes, size, and position of the primitive figure) and the displacement amount curve data are stored in a memory.
In this manner, the outline figure defined as pixel values for two-dimensional addresses in the frame memory can be converted into another data form. When a technique is employed to map the displacement amounts corresponding to the respective points of the primitive figure on the basis of the resultant primitive figure information and the displacement amount information, the original outline figure can be obtained. When the primitive figure information and the displacement amount curve information are obtained, a figure can be modified based on these pieces of information.
Figure modification processing will be described with reference to a flow chart in FIG. 28.
Of all the values used in this processing, the CPU 61a of the figure operation controller 61 sets values which are not clearly designated by the operator. At the same time, the CPU 61a initializes a memory, registers, and pointers. In the following steps, operations such as numeric value setup, data conversion, and image movement are performed with the P.D. 62 as in the above embodiment.
In step S32, a primitive figure to which a displacement amount is mapped is selected. The CPU 61a determines in step S32 whether a displacement amount function is modified. If NO in step S33, the flow advances to step S35. In step S35, the displacement amounts are mapped on the primitive figure. For example, when a rectangle represented by P(l,θ) is selected as a primitive figure, a modification is performed to obtain an outline FIG. 122 shown in FIG. 32. Referring to FIG. 32, the primitive figure 121 is a square figure. The outline FIG. 122 is a figure obtained after mapping. In this manner, by changing only the primitive figure, the shape of the outline figure can be easily changed.
When a change in modification amount curve is changed in step S33, the modification amount curve is changed in step S34. A result obtained by a modification amount of 1/2 is shown in FIG. 33. Mapping onto a primitive FIG. 141 of FIG. 34 is performed by using the modification amount shown in FIG. 33 to display an outline figure in step S36. In this manner, the outline figure can be easily modified by simply modifying the displacement amount curve.
As described above, since the outline extracted figure is expressed by the prestored primitive figure information and the displacement amount curve information expressed by displacement amounts from the reference point of the primitive figure in the reference direction, the following effects are obtained.
(1) Unlike the conventional technique in which a shape is created from nothing, a new two-dimensional figure can be generated by using outlines of already existing objects and images.
(2) When the resultant outline figure is to be further modified,
(i) a shape can be intuitively recognized, and (ii) steps of defining the shape for drawing can be reduced. Thus, operability and interrogation performance are improved.
(3) Displacement amount data used for a primitive figure can be mapped on an outline of another primitive figure to easily generate another shape having a similar shape.
According to this embodiment, there is provided a method of recognizing a figure, wherein an image from a scanner or a camera is input, an outline of an object in an image is extracted, and its outline figure is recognized as shape modification data for generating a new figure.
In addition,
(1) The volume of data for expressing an outline figure can be reduced.
(2) An outline figure can be easily modified into a new figure.
(3) A shape such as an actually existing object can be easily used for figure generation.
According to this embodiment, there is provided a method of generating a two-dimensional (planar) figure, wherein various shapes can be generated on a primitive figure, and a shape pattern on a primitive figure can be utilized for another primitive figure to obtain a new outline shape.
As described above, since the outline extracted figure is expressed by the prestored primitive figure information and the displacement amount curve information expressed by displacement amounts from the reference point of the primitive figure in the reference direction, the following effects are obtained.
(1) Unlike the conventional technique in which a shape is created from nothing, a new two-dimensional figure can be generated by using outlines of already existing objects and images.
(2) When the resultant outline figure is to be further modified,
(i) a shape can be intuitively recognized, and
(ii) steps of defining the shape for drawing can be reduced. Thus, operability and interrogation performance are improved.
(3) Displacement amount data used for a primitive figure can be mapped on an outline of another primitive figure to easily generate another shape having a similar shape.
According to this embodiment, there is provided a method of generating a two-dimensional (planar) figure, wherein various shapes can be generated on a primitive figure, and a shape pattern on a primitive figure can be utilized for another primitive figure to obtain a new outline shape.
[Embodiment for Normalizing Displacement Amount Data]
Still another embodiment of the present invention will be described below. As shown in FIG. 35, when a normalized amount storage section 52c is arranged in the ROM 52 shown in FIG. 13 to store normalized displacement amount data, utilization of the normalized displacement amount data to primitive figures having different sizes and different inference routing procedures, or modifications of mapping positions of the same primitive figure can be facilitated. In this case, before displacement amount data is stored in the RAM 52 in step S12 of FIG. 14B, the displacement amount data are normalized in step S15 in FIG. 36A. In step S12, the normalized displacement amount data are stored in the normalized amount storage section 52c.
Assume that displacement amount data of a displacement amount curve y=f(x) (0≦x≦7) shown in FIG. 37 is obtained to map displacement amount data onto a primitive figure. The displacement amounts from the reference position are plotted along the ordinate, and the positions on an outline of a figure to be mapped are plotted along the abscissa. Various methods may be proposed to generate this displacement amount curve y=f(x). Some methods are exemplified below.
(1) A function is input from the keyboard. For example, this function can be exemplified as y=x2 (0≦x≦4).
(2) An operator selects several functions and sets their parameters. The selected functions can be exemplified by the Gaussian distribution function Δr(x) of equation (1).
(3) A displacement amount curve is interrogatively plotted on a graph drawn on the display by using the P.D. 4 to allow the operator to arbitrarily create a displacement amount curve.
In step S15, the range of values of x and the range of values of y (or Δr(x)) are normalized. By this normalization, the displacement amounts can be mapped on any primitive figure regardless of its outline. In addition, the displacement amounts can be easily and selectively mapped on any portion of an outline of a primitive figure. In this embodiment, x and y respectively fall within the dynamic ranges of 0≦x≦7 and 0≦y≦4.5 with respect to the displacement amount curve of FIG. 37. A displacement amount curve obtained by normalizing the above dynamic ranges within the ranges of 0≦x≦1 and -1≦y≦1 is shown in FIG. 38:
y=f.sub.N (x) (0≦x≦1, -1≦y≦1)
The procedures for generating a figure based on the normalized displacement information are shown in FIG. 36B.
In step S16, parameters necessary for displacement amounts to be mapped in step S17 are set. For example, the magnitudes of projections upon mapping can be adjusted by the magnitudes of the dynamic ranges of the displacement amounts. Various parameters are set to designate parts of the primitive figure to which the displacement amounts are to be mapped. In step S17, the displacement amounts stored in a displacement amount storage section 52b are actually mapped onto the primitive figure by using the data associated with the displacement amounts obtained in step S16 and the mapping data.
For example, assume that a primitive figure to be pasted is given as a circle having a radius of "3", as shown in FIG. 39, and a radially outward direction from the origin with respect to points on the circumference is defined as a positive direction for mapping. Any point on the outline is represented by a distance l from a middle point A in FIG. 39 and is defined as Pl. In this case, the circumferential length of the circle is given as 6π, and the distance l falls within the range of 0≦l≦6π. If a displacement amount of the point Pl in the radial direction is Δr, and an angle ∠POA is given as θl, the point Ql to be mapped is plotted at a point displaced from the point Pl by Δr cos θl on the x-axis and Δr sin θl on the y-axis. In this manner, the displacement information normalized in step S15 is mapped on the basis of the parameters set in step S16.
FIG. 40 shows a case wherein a dynamic range of the distance l of the displacement amount curve of FIG. 38 is increased to the range of 0≦l≦6π, the dynamic range of the distribution function r is set to be -1.0≦Δr≦1.0, and a point A is used as a start point so as to map the displacement amounts on an entire primitive figure 151, thereby obtaining a mapped outline figure 152. Similarly, FIG. 41 shows a case wherein the dynamic range of the displacement amount curve is increased to the range of 0≦l≦3, the dynamic range of the distribution function Δr is set to be -1.0≦Δr≦1.0, and a point A is used as a start point so as to map the displacement amounts on one half of the outline of a primitive figure 161, thereby obtaining a mapped outline figure 162. In addition, FIG. 42 shows a case wherein a dynamic range of the distance l of the displacement amount curve of FIG. 38 is increased to the range of 0≦l≦1.5π, the dynamic range of the distribution function Δr is set to be -1.0≦Δr≦1.0, and a point B is used as a start point, and then the dynamic range of the function Δr is set to be -2.0≦Δr≦2.0, so as to map the displacement amounts on 1/4 of an entire primitive figure 171 counterclockwise, thereby obtaining a mapped outline figure 173.
In step S18, the outline figures generated upon mapping as described above are stored in the frame memory by the output controller 54 and are displayed on the display device through a D/A display controller. As described above, since the displacement amount curve information is normalized, various outline figures can be easily obtained upon mapping.
[Generation of Displacement Information]
In the above embodiment, the displacement amount curve information consisting of displacement amounts is given as the operator's inputs or the prestored operation expression (Gaussian distribution function). In the following description, a primitive figure and displacement information are extracted from an arbitrary input image to use the extracted information as displacement information of the previous information.
(Arrangement of Figure Generating Apparatus of This Embodiment)
The above displacement information can be generated by a figure generating apparatus shown in FIG. 43. The arrangement of this apparatus is similar to that of FIG. 26.
An operation of this figure generating apparatus will be described with reference to a flow chart of FIG. 44A and views of FIGS. 44B and 44C. These operations are the same as those described with reference to FIGS. 27 to 31.
In step S21, of all values used in this processing, a CPU 61a of a figure operation controller 61 sets values which are not clearly designated by an operator. At the same time, the CPU 61a initializes a memory, registers, and pointers. In step S22, image data (binary, multivalue chromatic, color data) from an image input device 67 is stored in a frame memory 66 through a bus 68. Processing for extracting an outline of fetched image is performed in step S23. Various outline extraction algorithms have been proposed, and two of them are exemplified below.
(1) An edge of an input image is emphasized by a differential operator such as one differential step, and binary processing is performed to reduce the thickness of the edge, thereby extracting an outline.
(2) An edge of an input image is emphasized by a differential operator such as one differential step, binary processing operation is performed, and then outline tracking is performed. Outline tracking is started with search for a start point for outline tracking. Tracking end marks are assigned to points found during tracking, and tracking progresses. When a tracking cycle is ended, one outline is obtained.
By these outline extraction methods, an outline figure having a line thickness of one pixel can be obtained. If necessary, a P.D. 62 is used to move a cursor to omit unnecessary portions or add desired lines and points. When the operation in step S22 is to be performed, the operator moves the P.D. 62 while observing a display 64, thereby moving the cursor to the "input" item in a menu area assigned in a display screen. When the button of the P.D. 62 is depressed, processing in step S22 is started. In this manner, the operator performs processing interrogatively while observing the display. When the operation in step S22 is completed, an input image is displayed on the display screen.
In order to execute the operation in step S23, an outline extraction menu is selected by using the P.D. 62. The outline extraction processing described above is executed, and an image such as an outline figure 101 shown in FIG. 44B is displayed on a display screen. This image is the same as that obtained in FIG. 21. This image is stored as pixel value data at a predetermined address of the frame memory 66. In steps S24 and S25, a primitive figure is selected and moved. Selection and movement of a primitive figure can be performed by designating a type, a size, and a position of a primitive figure by using the P.D. 62 or a keyboard 63. An outline figure 24a and a primitive figure 24b are displayed as on a display screen.
In step S26, a displacement amount curve shown in FIG. 44C with respect to a primitive figure (a circle in this case) can be obtained by the principle described above. In FIG. 44C, a displacement amount Δr having a positive value outside the reference position in the normal direction is plotted along the ordinate, and a distance l from the reference point on the outline of the mapped figure is plotted along the abscissa. In step S28, primitive figure information (attributes, size, and position of the primitive figure) and the displacement amount curve data are stored in a normalized amount storage section 52c.
In this manner, the outline figure defined as pixel values for two-dimensional addresses in the frame memory 66 can be converted into another data form. When a technique is employed to map the displacement amounts corresponding to the respective points of the primitive figure on the basis of the resultant primitive figure information and the displacement amount information, the original outline figure can be obtained. When the primitive figure information and the displacement amount curve information are obtained, a figure can be modified based on these pieces of information.
Assume that the displacement amount curve of FIG. 44C is mapped on an ellipse 24C (major axis AA'=2a, minor axis BB'=2b) of FIG. 44D. When an entire circumferential length S is obtained as follows assuming coordinates of points A and B are given as (a,0) and (b,0): ##EQU4##
Since the displacement amount curve of FIG. 41 is a curve obtained when the circumferential length of the figure to be mapped is 2πr, direct mapping cannot be performed for the ellipse 24c of FIG. 44D. In order to eliminate this drawback, the dynamic range of the distance l of the displacement amount curve of FIG. 44D is normalized to be 0≦l≦1, and the dynamic range of the displacement amount Δr is normalized to be -1.0≦Δr≦1.0. The dynamic range of the distance l of the normalized displacement amount curve is multiplied with the circumferential length S of the ellipse. The resultant figure obtained by mapping the displacement amounts with respect the points on the ellipse in the normal direction is a generated figure 24d shown in FIG. 44D.
As described above, since the outline extracted figure is expressed by the prestored primitive figure information and the displacement amount curve information expressed by displacement amounts from the reference point of the primitive figure in the reference direction, the following effects are obtained.
(1) Unlike the conventional technique in which a shape is created from nothing, a new two-dimensional figure can be generated by using outlines of already existing objects and images.
(2) When the resultant outline figure is to be further modified, a shape can be intuitively recognized, and steps of defining the shape for drawing can be reduced. Thus, operability and interrogation performance are improved.
(3) Displacement amount data used for a primitive figure can be mapped on an outline of another primitive figure to easily generate another shape having a similar shape.
According to this embodiment, there is provided a method of generating a two-dimensional (planar) figure, wherein various shapes can be generated on a primitive figure, and a shape pattern on a primitive figure can be utilized for another primitive figure to obtain a new outline shape.
[Embodiment for Generalizing Figure By Connecting and Arranging Parts]
The principle of this embodiment will be described below. In this embodiment, a shape shown in FIG. 45A is divided into simple, small portions (to be also referred to as parts hereinafter), and the small portions are caused to correspond to the existing outline portions of the outlines such as a circle, an ellipse, and a rectangle to store them in the form of displacement amount data, as shown in FIG. 45C. In figure creation, as shown in FIG. 46A, displacement amount data are added to the respective existing outlines of FIG. 46A to generate a new figure shown in FIG. 46B. Note that the original figure can be reproduced when the displacement amount data are obtained from FIG. 45C.
The displacement data are caused to correspond to the respective points on the outline of a primitive figure and are used to represent displacement positions from the points on the outline of the primitive figure in the normal direction of the outline. The displacement data may be used as displacement amounts from the center of a primitive figure (e.g., an intersection of diagonal lines in a rectangle, or the center of an ellipse) in a radial line passing through each point on the outline of the primitive figure.
(Arrangement of Figure Generating Apparatus of This Embodiment)
A characteristic feature of the figure generating apparatus for storing figures or realizing the generation method is a figure arrangement storage section 52d for arranging positions of the respective parts and their associative items in a RAM 52, as shown in FIG. 47. Other arrangements of this apparatus are the same as those in FIG. 13. An internal structure of the figure arrangement storage section 52d will be described below.
FIG. 48A shows a data format showing an arrangement of an entire edited figure. This figure is defined as a set of a plurality of parts figures. This set is defined as one data file in an external memory. The parameter data of the respective parts have a list structure in a real memory so as to allow random editing. The file includes data of a number 28a assigned to the entire unit of parts included in the file, an absolute position 28b of the entire unit of parts in the image, an entire angle 28c of rotation, an entire magnification 28d, and the number 28e of parts included in the entire unit. FIG. 48B shows a detailed arrangement of a data format of each parts 28f. Each parts can be generated by pasting displacement amounts on the outline of the primitive figure. For this reason, each parts has a code 280a for designating a kind of primitive figure (e.g., a circle, an ellipse, or a rectangle), a parameter 280b for determining a size of the primitive figure, a relative position 280d in the entire primitive figure (i.e., a unit of shape as a set of parts), a pointer 280c for displacement data added to the surface of the primitive figure, an angle 280e of rotation in the entire unit of parts, and a magnification 280f.
FIG. 49A shows a data format of displacement data 29 in the displacement amount storage section which is pointed by the pointer 280c. Displacement data in this embodiment uses a Gaussian distribution shape and includes n displacement data 29b as a total number 29a of control points. Each displacement data 29b has data of Δγ 290a (height of Gaussian distribution), x 0 290b (position of Gaussian distribution), and σ 290c (range of Gaussian distribution) as parameters.
The arrangement of the primitive figures is determined in the data structure of the figure arrangement storage section 52d in accordance with the sequence shown in FIG. 50.
In step S31, a primitive figure set with displaced data is displayed on the display device 3 and is edited to obtain image parts. In step S32, the operator sets an arrangement position, a magnification, and an angle with respect to the horizontal direction while observing a positional relationship on the screen. It is then determined in step S33 whether the arrangement of the parts is fixed under the set conditions. If NO in step S33, the flow advances to step S34 to continue parts editing, thereby determining whether the parameters are changed. If the parameters are to be changed, the flow returns to step S32 to set new parameter values again. If no parameter value setup is designated, the flow advances to step S35 to check whether interruption is designated. If YES in step S35, a series of operations is ended. However, if NO in step S35, the flow advances to step S36 to determine whether a restart command is input. If NO in step S36, the flow returns to step S33 to check a series of designations instructed by the operator.
If YES in step S36, the flow advances to step S37, all existing edited data stored in the real memory are cleared, and a parts display is set in an initial state. The initial state indicates a default value of the apparatus. In step S38, the parts are displayed again in accordance with the default value set in step S37.
In step S33, when fixing designation is determined, all the existing parts edited data stored in a temporary storage area are written in a memory table having data formats shown in FIG. 48A and 48B. It is determined in step S40 whether processing advances to other parts. When designation for specifying an advance to the next primitive figure is determined, the flow returns to step S31 to edit the next parts. When designation for shifting editing to the next primitive figure is not allowed, edited data shown in FIGS. 48A and 48B are stored in an external memory in step S41.
(Recognition of Figure)
A method of generating displacement amount data is not limited to the Gaussian distribution as in the next figure processing command in this embodiment. As described in the principle of this embodiment, a figure drawn on an existing illustration book is read, an outline of a read figure is extracted (e.g., processing by a quadratic differential operator or the like), and the figure is separated into parts. Primitive figures having appropriate sizes are applied to the outline of each parts, and distances (e.g., an intersection between an extracted outline and a line obtained by connecting the central point of a primitive figure and each point on the outline of the primitive figure is defined as an extracted curve point corresponding to the point on the outline of the primitive figure) may be stored as change data.
The processing sequence of the above operation is shown in FIG. 51.
Of all values used in this processing, the CPU 61a of the figure operation controller 61 sets values which are not clearly set by the operator. At the same time, the CPU 61a initializes a memory, registers, and pointers. In step S52, image data (e.g., binary, multivalue monochromatic, or color image data) is stored from the image input I/O device 67 to the frame memory 66 through the bus 68. In step S53, the outline of the fetched image is extracted in the same manner as in step S23. This state is shown in FIG. 45A. In step S54, the figure is separated into portions (parts), as shown in FIG. 45A. Note that the number of displacement data from a primitive figure stored in the apparatus should not exceed a predetermined value.
In steps S55 and S56, a primitive figure is selected and moved. Selection and movement are performed to designate a kind of primitive figure, its size, and its position with the P.D. 62 and the keyboard 63. It is determined in step S57 whether a position of a primitive figure is settled. If YES in step S57, the flow advances to step S58 to store a primitive figure position.
In step S59, a displacement amount curve for the primitive figure is obtained in accordance with the principle described previously. In step S60, the displacement amounts are stored in correspondence with the primitive figure. The CPU 61a determines in step
S61 whether all parts constituting all parts are processed. If NO in step S61, the flow returns to step S55, and separation of the primitive figures of other parts from the displacement amounts is performed. When processing of all the parts is completed, the primitive figure arrangement, the primitive figure data (e.g., attributes, sizes, and positions of the primitive figures), and the displacement amount curve data of each primitive figure are stored in the memory.
In this manner, the outline figure defined as pixel values for two-dimensional addresses in the frame memory 66 is converted into another data form. When a technique for mapping the displacement amounts corresponding to the respective points of the primitive figure on the basis of the resultant primitive figure data and displacement amount data is employed, the original outline figure can be obtained. When the primitive figure data and the displacement amount curve data are obtained, the figure is modified on the basis of the resultant data.
As described above, each figure constituting an original figure is separated into local elements, and local figures modified in units of constituting elements are combined to arrange a figure. A more complex shape can be generated interrogatively with good operability as compared with the conventional technique. Parts of given shape data are utilized and combined to obtain another shape.
According to the present invention, there is provided a method of easily generating a two-dimensional (planar) figure, wherein various shapes are formed on the primitive figures, and a shape pattern realized on a primitive figure can be utilized for another primitive figure to obtain a new outline shape.
There is provided a method of generating a figure, which can be easily utilized for primitive figures having different sizes (e.g., the lengths of long and short sizes of rectangles and the major and minor axes of ellipses) and different kinds of primitive figures (e.g., an ellipse, a rectangle, and a triangle).
The entire image of a desired final figure is assumed on a primitive figure, and local modifications and shape correction are interrogatively performed on this primitive figure, thereby easily generating a more complex shape.
Furthermore, any shapes obtained by mapping displacement amounts on the outline of a primitive figure are defined as parts, and these parts are connected and arranged to edit a figure, thereby easily and interrogatively generating a more complex shape.

Claims (32)

What is claimed is:
1. Graphics processing apparatus comprising:
processor means for extracting an outline figure from image data; and
memory means for storing the outline figure as shape data representing the shape of a primitive figure, displacement data representing a displacement from the primitive figure and position data representing a positional relation between the shape data and the displacement data;
said processor means being operative to change the displacement data to generate a new outline figure.
2. Graphics processing apparatus comprising:
storage means for storing shape data representing the shape of a primitive figure; and
processor means responsive to the stored shape data for generating displacement data representing a displacement from the primitive figure and position data representing a positional relation between the shape data and the displacement data,
wherein the processing means adds the shape data to the displacement data of the primitive figure to obtain shape data of a new outline figure.
3. An apparatus according to claim 2, wherein the displacement data is formed in said processor means as a sum of a plurality of local displacements.
4. An apparatus according to claim 3, wherein the displacement data uses a Gaussian distribution function.
5. An apparatus according to claim 4, wherein the displacement data is stored in said storage means in a form of a displacement position, a displacement range, and a maximum or minimum displacement amount.
6. An apparatus according to claim 2, wherein said processor means obtains the displacement data from a displacement of an outline figure extracted from image data from a primitive figure.
7. Graphics processing apparatus comprising:
first processor means for normalizing displacement data representing a displacement from shape data representative of a shape of a primitive figure and position data representative of a positional relation of the shape data and the displacement data of a primitive figure;
storage means for storing the normalized shape displacement data;
second processor means responsive to the stored normalized shape displacement data for changing the normalized displacement data into a desired size, and for mapping the size-changed normalized displacement data on data of a given primitive figure; and
output means for outputting the mapped data from the second processing means.
8. An apparatus according to claim 7, wherein the primitive figure for obtaining the displacement data is different from the given primitive figure to be mapped.
9. Graphics processing apparatus comprising:
input means for inputting a figure;
storage means for storing the input figure;
first processing means for separating the figure stored in said storage means into a plurality of partial shapes; and
second processing means for generating shape data representing each of the separated partial shapes as a shape of a primitive figure, for generating displacement data representing a displacement from the primitive figure, and for generating position data representing a positional relation between the shape data and the displacement data.
10. An apparatus according to claim 9, wherein said second processing means forms a desired figure by editing and arranging the plurality of partial shapes.
11. An apparatus according to claim 10, wherein said second processing means performs editing for forming the desired figure from the plurality of partial shapes by using only primitive figures and adding the displacement data to generate a figure after an entire arrangement of all partial shapes is determined.
12. Graphics processing apparatus comprising:
storage means for storing outline information of a plurality of primitive figures, the outline information including shape data representing the shape of each of the primitive figures, displacement data representing a displacement from the primitive figure and position data representing a positional relation between the shape data and the displacement data;
processing means for selecting a desired one of the plurality of primitive figures and for changing the displacement data of the selected primitive figure to modify the outline information thereof into new outline information; and
output means for outputting the new outline information.
13. An apparatus according to claim 12, wherein said storage means stores change information, and said processing means changes the outline information of the selected primitive figure using the stored change information.
14. An apparatus according to claim 12, further comprising input means for inputting a figure, and wherein said processing means changes the outline information of the selected primitive figure in correspondence to the input figure.
15. An apparatus according to claim 12, further comprising input means for inputting a figure and wherein said processing means divides the input figure into a plurality of blocks and selects a desired primitive figure for each of the plurality of blocks.
16. An apparatus according to claim 15, wherein said processing means synthesizes the changed figures and said output means outputs the figure resulting from the synthesis.
17. In a graphics processing apparatus having at least a figure processor, a display and a data store, a figure processing method comprising the steps of:
extracting an outline figure from image data of a figure displayed on the display in the figure processor and displaying the outline figure on the display;
storing in the data store shape data of a primitive figure in the displayed outline figure, displacement data representing a displacement of the displayed outline figure from the primitive figure and position data representing a positional relation between the shape data and the displacement data; and
modifying the stored displacement data to generate a new outline figure for display in the figure processor.
18. In a graphics processing apparatus having at least a figure processor, a display and a data store, a figure processing method comprising the steps of:
storing shape data of a displayed primitive figure in data store; and
generating displacement data in the figure processor representing a displacement from the primitive figure and position data representing a positional relation between the shape data and the displacement data,
wherein the stored shape data of the primitive figure and the generated displacement data are added to each other in the figure processor to produce shape data of an outline figure for display on the display.
19. A method according to claim 18, wherein the displacement data is formed as a sum of a plurality of local displacements.
20. A method according to claim 19, wherein the displacement data uses a Gaussian distribution function.
21. A method according to claim 20, wherein the displacement data is stored in a form of a displacement position, a displacement range, and a maximum or minimum displacement amount.
22. A method according to claim 18, further comprising the step performed in said figure processor of obtaining the displacement data from a displacement of an outline figure extracted from image data from a primitive figure.
23. In a graphics processing apparatus having at least a figure processor and a data store, a figure processing method comprising the steps of:
generating in the figure processor displacement data representing a normalized displacement from shape data representative of a shape of a primitive figure and position data representative of a positional relation of the shape data and the displacement data of a primitive figure;
storing the normalized shape displacement data in the data store;
changing the stored normalized displacement data into a desired size in said figure processor; and
mapping the size-changed normalized displacement data on data of a given primitive figure in a mapping processor; and
outputting the data from said mapping processor.
24. A method according to claim 23, wherein the primitive figure for obtaining the displacement data is different from the given primitive figure to be mapped.
25. In a graphics processing apparatus having at least a figure processor and a data store, a figure processing method comprising the steps of:
inputting a figure;
storing the input figure in the data store;
separating the figure stored in said store into a plurality of partial shapes in the figure processor; and
forming representations of each of the separated partial shapes by shape data representing a shape of a primitive figure, displacement data representing a displacement from the primitive figure, and position data representing a positional relation between the shape data and the displacement data in the figure processor.
26. A method according to claim 25, further comprising the step of obtaining a desired figure by editing and arranging the plurality of partial shapes in the figure processor.
27. A method according to claim 26, wherein the step of editing to obtain the desired figure from the plurality of partial shapes is performed in the figure processor by using only primitive figures and adding the displacement data to generate a figure after an entire arrangement of all partial shapes is determined.
28. In a graphics processing apparatus having at least a figure processor and a data store, a figure processing method comprising the steps of:
in the data store, storing outline information of a plurality of primitive figures, the outline information including shape data representing the shape of each of the primitive figures, displacement data representing a displacement from the primitive figure and position data representing a positional relation between the shape data and the displacement data;
in the figure processor, selecting a desired one of the plurality of primitive figures and changing the displacement data of the selected primitive figure to modify the outline information thereof into new outline information; and
outputting the new outline information from the figure processor.
29. A method according to claim 28, further comprising the step of storing change information in the data store, wherein the outline information of the selected primitive figure is changed in the figure processor using the stored change information.
30. A method according to claim 28, further comprising the step of inputting a figure and wherein the outline information of the selected primitive figure is changed by the figure processor in correspondence to the input figure in the figure processor.
31. A method according to claim 28, further comprising the steps of inputting a figure and dividing the input figure into a plurality of blocks in the figure processor so that a desired primitive figure is selected for each of the plurality of blocks.
32. A method according to claim 31, further comprising the step of synthesizing the figure changed in the figure processor, and wherein the figure resulting from the synthesis in the figure processor is output.
US08/367,780 1989-02-08 1995-01-03 Figure processing apparatus Expired - Lifetime US5457755A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/367,780 US5457755A (en) 1989-02-08 1995-01-03 Figure processing apparatus

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
JP1-27379 1989-02-08
JP2737989A JP2746980B2 (en) 1989-02-08 1989-02-08 Figure generation method
JP1027380A JP2746981B2 (en) 1989-02-08 1989-02-08 Figure generation method
JP1-27380 1989-02-08
JP1-113781 1989-05-08
JP11378189A JP2747008B2 (en) 1989-05-08 1989-05-08 Figure generation method
US47661990A 1990-02-07 1990-02-07
US91178692A 1992-07-10 1992-07-10
US13781293A 1993-10-19 1993-10-19
US08/367,780 US5457755A (en) 1989-02-08 1995-01-03 Figure processing apparatus

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13781293A Continuation 1989-02-08 1993-10-19

Publications (1)

Publication Number Publication Date
US5457755A true US5457755A (en) 1995-10-10

Family

ID=27285767

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/367,780 Expired - Lifetime US5457755A (en) 1989-02-08 1995-01-03 Figure processing apparatus

Country Status (3)

Country Link
US (1) US5457755A (en)
EP (1) EP0382495B1 (en)
DE (1) DE69033514D1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0895418A2 (en) * 1997-07-28 1999-02-03 Sharp Kabushiki Kaisha Image-area extracting method for visual telephone
US5883638A (en) * 1995-12-01 1999-03-16 Lucas Digital, Ltd. Method and apparatus for creating lifelike digital representations of computer animated objects by providing corrective enveloping
US6011556A (en) * 1991-03-29 2000-01-04 Fujitsu Limited Automatic apparatus for drawing image of three-dimensional object on a screen
US6112213A (en) * 1995-02-23 2000-08-29 Canon Kabushiki Kaisha Image processing method and apparatus for designating movement and copying of image data
US6546187B1 (en) * 1997-12-26 2003-04-08 Fuji Photo Film Co., Ltd. Digital camera for providing random special effect images and an image processing method therein
US20050134590A1 (en) * 2003-12-19 2005-06-23 Dainippon Screen Mfg. Co., Ltd. Apparatus for and method of graphic processing and computer-readable program

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04373077A (en) * 1991-06-21 1992-12-25 Kao Corp Design supporting device for free-form surface
US6605677B2 (en) 2000-02-18 2003-08-12 Eastman Chemical Company Olefin polymerization processes using supported catalysts

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3050711A (en) * 1959-02-26 1962-08-21 Bell Telephone Labor Inc Automatic character analyzer
JPS5999571A (en) * 1982-11-30 1984-06-08 Tokyo Kurieiteibu:Kk Forming method of distorted picture
US4685070A (en) * 1984-08-03 1987-08-04 Texas Instruments Incorporated System and method for displaying, and interactively excavating and examining a three dimensional volume
US4686522A (en) * 1985-02-19 1987-08-11 International Business Machines Corporation Method of editing graphic objects in an interactive draw graphic system using implicit editing actions
US4688181A (en) * 1982-12-22 1987-08-18 International Business Machines Corporation Image transformations on an interactive raster scan or matrix display
US4698779A (en) * 1984-05-05 1987-10-06 International Business Machines Corporation Graphic display with determination of coincidence of subject and clip areas
US4710876A (en) * 1985-06-05 1987-12-01 General Electric Company System and method for the display of surface structures contained within the interior region of a solid body
US4805013A (en) * 1984-09-05 1989-02-14 Canon Kabushiki Kaisha Image data conversion system
US4850028A (en) * 1985-09-04 1989-07-18 Canon Kabushiki Kaisha Image processing method and apparatus therefor
US4864520A (en) * 1983-09-30 1989-09-05 Ryozo Setoguchi Shape generating/creating system for computer aided design, computer aided manufacturing, computer aided engineering and computer applied technology
US4918541A (en) * 1986-04-17 1990-04-17 Canon Kabushiki Kaisha Image processing method and apparatus
US4922273A (en) * 1987-04-02 1990-05-01 Konica Corporation Compression method of halftone image data
US4928250A (en) * 1986-07-02 1990-05-22 Hewlett-Packard Company System for deriving radiation images

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1274919A (en) * 1985-07-27 1990-10-02 Akio Ohba Method of forming curved surfaces and the apparatus

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3050711A (en) * 1959-02-26 1962-08-21 Bell Telephone Labor Inc Automatic character analyzer
JPS5999571A (en) * 1982-11-30 1984-06-08 Tokyo Kurieiteibu:Kk Forming method of distorted picture
US4688181A (en) * 1982-12-22 1987-08-18 International Business Machines Corporation Image transformations on an interactive raster scan or matrix display
US4864520A (en) * 1983-09-30 1989-09-05 Ryozo Setoguchi Shape generating/creating system for computer aided design, computer aided manufacturing, computer aided engineering and computer applied technology
US4698779A (en) * 1984-05-05 1987-10-06 International Business Machines Corporation Graphic display with determination of coincidence of subject and clip areas
US4685070A (en) * 1984-08-03 1987-08-04 Texas Instruments Incorporated System and method for displaying, and interactively excavating and examining a three dimensional volume
US4805013A (en) * 1984-09-05 1989-02-14 Canon Kabushiki Kaisha Image data conversion system
US4686522A (en) * 1985-02-19 1987-08-11 International Business Machines Corporation Method of editing graphic objects in an interactive draw graphic system using implicit editing actions
US4710876A (en) * 1985-06-05 1987-12-01 General Electric Company System and method for the display of surface structures contained within the interior region of a solid body
US4850028A (en) * 1985-09-04 1989-07-18 Canon Kabushiki Kaisha Image processing method and apparatus therefor
US4918541A (en) * 1986-04-17 1990-04-17 Canon Kabushiki Kaisha Image processing method and apparatus
US4928250A (en) * 1986-07-02 1990-05-22 Hewlett-Packard Company System for deriving radiation images
US4922273A (en) * 1987-04-02 1990-05-01 Konica Corporation Compression method of halftone image data

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011556A (en) * 1991-03-29 2000-01-04 Fujitsu Limited Automatic apparatus for drawing image of three-dimensional object on a screen
US6112213A (en) * 1995-02-23 2000-08-29 Canon Kabushiki Kaisha Image processing method and apparatus for designating movement and copying of image data
US5883638A (en) * 1995-12-01 1999-03-16 Lucas Digital, Ltd. Method and apparatus for creating lifelike digital representations of computer animated objects by providing corrective enveloping
EP0895418A2 (en) * 1997-07-28 1999-02-03 Sharp Kabushiki Kaisha Image-area extracting method for visual telephone
EP0895418A3 (en) * 1997-07-28 2000-12-06 Sharp Kabushiki Kaisha Image-area extracting method for visual telephone
US6546187B1 (en) * 1997-12-26 2003-04-08 Fuji Photo Film Co., Ltd. Digital camera for providing random special effect images and an image processing method therein
US20050134590A1 (en) * 2003-12-19 2005-06-23 Dainippon Screen Mfg. Co., Ltd. Apparatus for and method of graphic processing and computer-readable program
US7468734B2 (en) * 2003-12-19 2008-12-23 Dainippon Screen Mfg. Co., Ltd. Apparatus for and method of graphic processing and computer-readable program

Also Published As

Publication number Publication date
DE69033514D1 (en) 2000-05-31
EP0382495A3 (en) 1992-03-11
EP0382495B1 (en) 2000-04-26
EP0382495A2 (en) 1990-08-16

Similar Documents

Publication Publication Date Title
EP0713186B1 (en) Method and apparatus for retrieving images from a database
JP2667835B2 (en) Computer Graphics Display
US5539868A (en) Character and figure transferring system
US4897638A (en) Method for generating character patterns with controlled size and thickness
US5231697A (en) Method and system for determining connection states of straight short vectors representing figure in curve fitting
US5774130A (en) Computer animation generator creating hierarchies of models for rapid display
KR0167618B1 (en) Character generating apparatus and method of the same
US5068802A (en) Graphic drawing method and system with input coordinates automatically adjustable
US5384909A (en) Precision automatic scrolling for an image display system
US5457755A (en) Figure processing apparatus
US5692115A (en) Method of generating an image and an apparatus for carrying out such a method
US5736991A (en) Animation editing apparatus
US20030025650A1 (en) Apparatus and method for generating 3D graphics
KR100227585B1 (en) Character generation device
US5673421A (en) Drawing arranging system
US6944823B2 (en) Outline forming apparatus and method using inputted weight information
US5694536A (en) Method and apparatus for automatic gap closing in computer aided drawing
US5365599A (en) Method and system of converting delineative pattern
JP2712789B2 (en) Image display device
JPH08194716A (en) Picture processing method and its device
US5574839A (en) Method and apparatus for automatic gap closing in computer aided drawing
JP3464338B2 (en) Drawing search method and apparatus
JP2747008B2 (en) Figure generation method
US5995674A (en) Image processing apparatus with shape-correction of a contour-specified figure
JPH05324921A (en) Method and device for forming curve

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12