Method and apparatus for analyzing and converting bi-level image data
AssigneeOki Data Corporation
InventorJunji Sato
Life of this patent
Estimating the term…
Abstract
A bi-level image, coded as transition data indicating positions of transitions in individual dot lines, is analyzed by comparing transition positions occurring in a consecutive group of dot lines, and detecting segments in different dot lines in the group that have the same level and join up in the direction parallel to the dot lines. The line density of the bi-level image can be reduced by replacing the group of dot lines with a single new dot line that includes the transition positions of all dot lines in the group, except for interior transition positions of joining segments. The line density can be increased by copying transition data of each dot line to a new dot line, adjusting the transition positions of segments that join segments in an adjacent dot line.
Claims11
A method of analyzing a bi-level image having a first level and a second level, said bi-level image being coded as transition data indicating positions of transitions between the first level and the second level in dot lines oriented in a first direction, comprising the steps of:
- (a) reading, from said transition data, the transition positions in a consecutive group of said dot lines;
- (b) comparing the transition positions in different dot lines in said consecutive group;
- and
- (c) detecting segments, in the different dot lines in said consecutive group, that have said first level and join mutually in said first direction, wherein:
- said step (a) further comprises the steps of
- reading a position a1 of a transition to said first level in a first dot line in said consecutive group,
- reading the position a2 of a first transition to said second level following said position a1 in said first dot line, said position a1 and said position a2 defining a first segment having said first level,
- reading a position b1 of a transition to said first level in a second dot line in said consecutive group, and
- reading the position b2 of a first transition to said second level following said position b1 in said second dot line, said position b1 and said position b2 defining a second segment having said first level;
- said step (b) further comprises the steps of
- comparing said position a1 and said position b2, and
- comparing said position a2 and said position b1;
- and
- in said step (c), said first segment and said second segment are treated as mutually joining if said position a1 does not follow said position b2 in said first direction, and said position b1 does not follow said position a2 in said first direction.
A method of analyzing a bi-level image having a first level and a second level, said bi-level image being coded as transition data indicating positions of transitions between the first level and the second level in dot lines oriented in a first direction, comprising the steps of:
- (a) reading, from said transition data, the transition positions in a consecutive group of said dot lines;
- (b) comparing the transition positions in different dot lines in said consecutive group;
- (c) detecting segments, in the different dot lines in said consecutive group, that have said first level and join mutually in said first direction, and
- (d) detecting isolated segments having said first level in one dot line in said consecutive group, each of said isolated segments not being joined in said first direction to any other segments having said first level in any other dot lines in said consecutive group.
A method of removing dot noise from a bi-level image having a first level and a second level, said bi-level image being coded as transition data indicating positions of transitions between the first level and the second level in dot lines oriented in a first direction, comprising the steps of:
- (a) analyzing the bi-level image by
- (i) reading, from said transition data, the transition positions in a consecutive group of said dot lines;
- (ii) comparing the transition positions in different dot lines in said consecutive group;
- (iii) detecting segments, in the different dot lines in said consecutive group, that have said first level and join mutually in said first direction and
- (iv) detecting isolated segments having said first level in one dot line in said consecutive group, each of said isolated segments not being joined in said first direction to any other segments having said first level in any other dot lines in said consecutive group,
- thereby detecting isolated segments having said first level in each dot line in said bi-level image;
- (b) comparing lengths of the isolated segments detected in said step (a) with a threshold length;
- and
- (c) removing the transition positions of isolated segments with lengths less than said threshold length from said transition data.
A method of analyzing a bi-level image having a first level and a second level, said bi-level image being coded as transition data indicating positions of transitions between the first level and the second level in dot lines oriented in a first direction, comprising the steps of:
- (a) reading, from said transition data, the transition positions in a consecutive group of said dot lines;
- (b) comparing the transition positions in different dot lines in said consecutive group;
- and
- (c) detecting segments, in the different dot lines in said consecutive group, that have said first level and join mutually in said first direction,
- (d) comparing a difference between the positions of the transitions to said first level of a pair of mutually joined segments found in said step (c) with a difference threshold;
- and
- (e) comparing a difference between the positions of the transitions to said second level of said pair of mutually joined segments with said difference threshold.
A method of smoothing contours in a bi-level image having a first level and a second level, said bi-level image being coded as transition data indicating positions of transitions between the first level and the second level in dot lines oriented in a first direction, comprising the steps of:
- (a) analyzing said bi-level image, including by the steps of:
- (i) reading, from said transition data, the transition positions in a consecutive group of said dot lines;
- (ii) comparing the transition positions in different dot lines in said consecutive group;
- and
- (iii) detecting segments, in the different dot lines in said consecutive group, that have said first level and join mutually in said first direction;
- (iv) comparing a difference between the positions of the transitions to said first level of a pair of mutually joined segments found in said step (iii) with a difference threshold;
- and
- (v) comparing a difference between the positions of the transitions to said second level of said pair of mutually joined segments with said difference threshold;
- (b) adjusting the positions of the transitions to said first level of segments having said first level that are mutually joined in said first direction if the difference between said positions is found in said step (iv) to be less than said difference threshold;
- and
- (c) adjusting the positions of the transitions to said second level of segments having said first level that are mutually joined in said first direction if the difference between said positions is found in said step (v) to be less than said difference threshold.
A method of generating a new dot line from a bi-level image having a first level and a second level, said bi-level image being coded as transition data indicating positions of transitions between the first level and the second level in dot lines oriented in a first direction, comprising the steps of:
- (a) reading, from said transition data, the transition positions in a consecutive group of said dot lines;
- (b) comparing the transition positions in different dot lines in said consecutive group;
- (c) detecting segments, in the different dot lines in said consecutive group, that have said first level and join mutually in said first direction;
- and
- (d) generating transition data for said new dot line by copying the transition data read in said step (a), omitting interior transition positions of the mutually joining segments detected in said step (c).
A method of interpolating a new dot line between a first dot line and a second dot line in a bi-level image having a first level and a second level, said bi-level image being coded as transition data indicating positions of transitions between the first level and the second level in a first direction, said first dot line and said second dot line being oriented in said first direction, comprising the steps of:
- (a) reading, from said transition data, the transition positions of said first dot line and said second dot line;
- (b) comparing the transition positions in said first dot line with the transition positions in said second dot line;
- (c) detecting segments having said value in said first dot line that join in said first direction with at least one segment having said first value in said second dot line;
- (d) for each segment B detected in said step (c), detecting a first joining segment A1 and a last joining segment A2 in said second dot line, said segment A1 and said segment A2 both having said first level, said segment B joining both said segment A1 and said segment A2 in said first direction, said segment B not joining any segment preceding said segment A1 in said first direction in said second dot line, said segment B not joining any segment following said segment A2 in said first direction in said second dot line;
- and
- (e) generating transition data for said new dot line by copying the transition data of said first dot line, adjusting the transitions positions of each segment B detected in said step (c) according to the transition positions of the first joining segment A1 and the last joining segment A2 detected in said step (d).
Dependencies are inferred from the claim text.