The present invention contains subject matter related to Japanese Patent Application No. 2018-041551 filed in the Japanese Patent Office on Mar. 8, 2018, the entire contents of which are incorporated herein by reference.
The present invention relates to an image reading apparatus, a program, an image generation method, and the like.
In the related art, an image reading apparatus that reads an original document having a larger width than that in the case of using one image sensor by using a plurality of image sensors is known. For example, a large size original document such as A0 or A1 can be read by combining a plurality of image sensors for A3 size or A4 size. Such an image reading apparatus has an advantage such that manufacturing of the image sensor is easily performed at a low cost, compared to that in the case of using a wide width image sensor.
However, individual differences are occurred from the plurality of image sensors, and brightness or a tone of the reading result may vary even in the case of reading the same original document. In addition, the plurality of image sensors are at different positions in an original document transport direction. Thus, an attitude of the original document may vary at reading positions, and the brightness of the reading result may vary. In a case where images having different tones or brightness are joined together, a defect in image quality such as a difference in level or uneven color may occur at a joint.
Therefore, the brightness or the tone is adjusted by performing a correction process on the reading result of the plurality of image sensors. For example, JP-A-2011-155572 discloses a method of calculating evaluation values from pixel values in overlap sections among image sensors, multiplexing the pixel value by a gain such that the evaluation values match, and correcting a difference in brightness among the sensors. In addition, JP-A-2016-127295 discloses a method of using a gain and an offset as correction parameters, determining the correction parameters such that evaluation values match, and correcting a difference among image sensors.
Depending on apparatuses, executing the correction process may not lead to appropriate correction.
An advantage of some aspects of the invention is implementation of more appropriate correction.
According to an aspect of the invention, there is provided an image reading apparatus including a first sensor that reads a first area of an image of a reading target, a second sensor that reads a second area partially overlapping with the first area in the image, and a processing circuit that generates a merge image by performing a merge process on first image data generated by reading by the first sensor and second image data generated by reading by the second sensor. The processing circuit calculates a correction value having a tendency of approaching zero as being away from an overlap area between the first area and the second area based on a reading result acquired by reading the overlap area by the first sensor and a reading result acquired by reading the overlap area by the second sensor, and generates the merge image by performing an offset process on at least one of the first image data and the second image data using the correction value.
In addition, in the image reading apparatus, the processing circuit may generate the merge image by performing a first offset process in which the offset process using the correction value is performed on an area of the first image data corresponding to half or less of a length of the first sensor in a main scanning axis, and a second offset process in which the offset process using the correction value is performed on an area of the second image data corresponding to half or less of a length of the second sensor in the main scanning axis.
In addition, in the image reading apparatus, the processing circuit may calculate the correction value based on an average value of pixel values acquired by reading the overlap area by the first sensor and an average value of pixel values acquired by reading the overlap area by the second sensor.
In addition, in the image reading apparatus, the processing circuit may generate the merge image without performing gain correction on the first image data and the second image data.
In addition, in the image reading apparatus, an X1 axis is set for the first image data in a direction corresponding to a main scanning axis of the image reading apparatus. For two end points of an area of the first image data on which the offset process is performed, an X1 coordinate value of an end point on an overlap area side is set to Xmerge, and an X1 coordinate value of an end point on another side is set to zero. D′1(x1)=D1(x1)+A×x1, in which A is a coefficient obtained based on an average value of pixel values acquired by reading the overlap area by the first sensor, an average value of pixel values acquired by reading the overlap area by the second sensor, and Xmerge that is a length of an area of the first image data on which the offset process is performed. At x1 at which the X1 coordinate value satisfies 0≤x1≤Xmerge, D1(x1) is a pixel value of the first image data and D′1(x1) is a pixel value of the first image data after the offset process.
In addition, in the image reading apparatus, the processing circuit may perform the offset process on the first image data and the second image data using the correction value, and generate an image of an area of the merge image corresponding to the overlap area by merging the first image data after the offset process with the second image data after the offset process.
In addition, in the image reading apparatus, in which
x being equal to or smaller than xA and equal to or larger than xB, in which an X axis is set in a direction corresponding to a main scanning axis of the image reading apparatus, and for two end points of the overlap area, xA is an X coordinate value of an end point on the first sensor, and xB is an X coordinate value of an end point on the second sensor, xA being smaller than xB. At x at which the X coordinate value satisfies xAx≤xB, D′1(x) is a pixel value of the first image data after the offset process, D′2(x) is a pixel value of the second image data after the offset process, and D′(x) is a pixel value of the merge image.
In addition, in the image reading apparatus, the image reading apparatus may further include a first analog front end that performs A/D conversion on an analog signal from the first sensor and outputs the first image data which is digital data to the processing circuit, and a second analog front end that performs A/D conversion on an analog signal from the second sensor and outputs the second image data which is digital data to the processing circuit. The processing circuit may perform the offset process by digital signal processing based on the first image data from the first analog front end and the second image data from the second analog front end.
In addition, according to another aspect of the invention, there is provided a program that generates a merge image by performing a merge process on first image data generated by reading by a first sensor reading a first area of an image of a reading target and second image data generated by reading by a second sensor reading a second area partially overlapping with the first area in the image. The program causes a computer to execute calculating a correction value having a tendency of approaching zero as being away from an overlap area between the first area and the second area based on a reading result acquired by reading the overlap area by the first sensor and a reading result acquired by reading the overlap area by the second sensor, and generating the merge image by performing an offset process on at least one of the first image data and the second image data using the correction value.
In addition, according to still another aspect of the invention, there is provided an image generation method for generating a merge image by performing a merge process on first image data generated by reading by a first sensor reading a first area of an image of a reading target and second image data generated by reading by a second sensor reading a second area partially overlapping with the first area in the image. The method includes calculating a correction value having a tendency of approaching zero as being away from an overlap area between the first area and the second area based on a reading result acquired by reading the overlap area by the first sensor and a reading result acquired by reading the overlap area by the second sensor, and generating the merge image by performing an offset process on at least one of the first image data and the second image data using the correction value.
The invention will be described with reference to the accompanying drawings, wherein like numbers reference like elements.
Hereinafter, the present embodiment will be described. The embodiment described below does not unduly limit the content of the invention disclosed in the claims. In addition, not all configurations described in the embodiment are essential constituents of the invention.
The original document D mounted on the mounting surface 13 is fed to a feeding port 12A that is open in the front surface part of the main body 12. The fed original document D is transported along a predetermined transport path 32 (refer to
For example, the image reading apparatus 11 illustrated in
The transport mechanism 31 includes a feeding roller pair 33 that is arranged at a position at the upstream end of the transport path 32 in the main body 12, a feeding roller pair 34 that is arranged on the downstream side of the feeding roller pair 33 in the transport direction, a transport roller pair 35 that is arranged on the upstream side of the reading position of the original document D in the transport direction Y, and a transport roller pair 36 that is arranged on the downstream side of the reading position of the original document D in the transport direction Y.
The feeding roller pairs 33 and 34 are configured with drive rollers 33A and 34A and driven rollers 33B and 34B. In addition, the transport roller pairs 35 and 36 are configured with drive rollers 35A and 36A and driven rollers 35B and 36B. The driven rollers 33B to 36B are rotated together by rotation of the drive rollers 33A to 36A of their respective pairs. Each of the drive rollers 33A to 36A constituting the plurality of roller pairs 33 to 36 is rotationally driven by power of its power source of a transport motor (not illustrated).
As illustrated in
The light source 41 is configured with, for example, a light emitting diode (LED) or a fluorescent lamp. The image sensor 42 receives reflected light from reflection of the light emitted from the light source 41 by the original document D or the like, converts the received light into an electric signal, and outputs a pixel signal having a value corresponding to the intensity of received light. The image sensor 42 is, for example, a linear image sensor. The image reading apparatus 11 can perform a color scan and a monochrome scan (gray scale scan). The color scan method includes a method of acquiring pixel signals of RGB colors in order from monochrome image sensors by causing light sources of RGB colors to emit light in order in a time series manner, and a method of including photoelectric conversion elements of RGB colors covered with color filters in an image sensor and acquiring pixel signals of RGB from the photoelectric conversion elements by causing a white light source to emit light. The color scan method may be any of the methods. While an example of disposing the light source 41 for each reading unit 40 is illustrated in
The image sensor 42 is, for example, a contact type image sensor in which a plurality of photoelectric conversion elements are arranged in a row in the main scanning axis X. Furthermore, the image sensor 42 is specifically a complementary metal oxide semiconductor (CMOS) image sensor.
Furthermore, a color reference plate 43 is arranged at a position that faces the image sensor 42 with the transport path 32 interposed therebetween. The color reference plate 43 is used for acquiring a white reference value for shading correction. Thus, a white reference plate having white color or a gray reference plate having gray color (ash color) is used as the color reference plate 43. The gray reference plate is used for detecting the position and the area of the original document D based on a difference in color or brightness value between the original document and a background from reading data in which the color reference plate 43 is read as the background (gray background) of the original document.
Two adjacent image sensors 42A and 42B are at different positions in the subscan direction and are disposed at positions at which their end parts overlap in the main scanning axis. In the example in
In addition, the image reading apparatus 11 includes a processing circuit 100 that generates a merge image by performing a merge process on first image data generated by reading by the first sensor and second image data generated by reading by the second sensor. The first image data is a reading result of the first sensor and is image data corresponding to the first area of the original document D. The second image data is a reading result of the second sensor and is image data corresponding to the second area of the original document D.
Each process and each function of the embodiment performed by the processing circuit 100 can be implemented by a processor including hardware. For example, each process of the embodiment can be implemented by a processor that operates based on information such as a program, and a memory that stores information such as a program. In the processor, for example, the function of each unit may be implemented by individual hardware, or the function of each unit may be implemented by single hardware. For example, the processor can include hardware, and the hardware can include at least one of a circuit processing a digital signal and a circuit processing an analog signal. For example, the processor can be configured with one or a plurality of circuit devices or one or a plurality of circuit elements mounted on a circuit substrate. The circuit device is an integrated circuit (IC) or the like, and the circuit element is a resistor, a capacitor, or the like. The processor may be, for example, a central processing unit (CPU). The processor is not limited to a CPU, and various processors such as a graphics processing unit (GPU) or a digital signal processor (DSP) can be used. In addition, the processor may be a hardware circuit based on an application specific integrated circuit (ASIC). In addition, the processor may be configured with a plurality of CPUs or may be configured with a hardware circuit based on a plurality of ASICs. In addition, the processor may be configured with a combination of a plurality of CPUs and a hardware circuit based on a plurality of ASICs. In a narrow sense, the processing circuit 100 is a system-on-a-chip (SoC) in which a processor core, a memory, and an interface for data transfer are mounted on one chip.
In addition, as illustrated in
By doing so, a process related to image merge can be implemented by a digital process. It is not easy to predict the attitude of the original document D at the time of reading, and it is difficult to store a correction value used for the correction process in advance. Regarding such a point, the correction process corresponding to a situation can be easily implemented by digitally performing the correction process. In addition, the correction process needs various processes described below in
The first image data and the second image data that are targets for the merge process in the embodiment may be, but not limited to, the outputs of the first analog front end 60A and the second analog front end 60B. For example, the processing circuit 100 may perform well-known preprocessing such as shading correction on the first image data from the first analog front end 60A and the second image data from the second analog front end 60B and may perform the merge process on the first image data and the second image data after preprocessing as targets. That is, the “first image data generated by reading by the first sensor” in the embodiment is data acquired by performing preprocessing including at least the A/D conversion process on the analog signal of the output of the first sensor, and the preprocessing can include various processes such as an analog gain process and a digital shading correction process. The same applies to the second image data.
In RA in
As illustrated in
In addition, as illustrated in
By performing the position correction illustrated in
Hereinafter, the merge process for the first image data and the second image data in the embodiment will be described in detail.
A deviation in positional relationship among the image sensors 42 can be corrected by the position correction process illustrated in
In addition, while the transport path 32 of the original document D is illustrated in
The line represents a rectangular area that is long in the main scanning axis and is acquired by extracting a range of the original document D corresponding to given one pixel in the subscan direction. In addition, hereinafter, the term line will also be used for data corresponding to given one pixel in the subscan direction in the image data of the reading result. For example, a “given line of image data” represents data acquired by extracting given one pixel in the subscan direction from the image data.
In the case of simply merging image data having different tones or brightness, a defect in image quality such as a difference in level or uneven color may occur at a joint, and a change in brightness or tone in a boundary part may stand out.
The plurality of image sensors 42 are disposed in an overlapping manner. Thus, the correction process is performed based on the reading result of the overlap area. However, in the case of performing the gain process as in JP-A-2011-155572, there may be a concern in a case where the level of the pixel value of the overlap area is low. For example, an example in which the average value of pixel values is set as an evaluation value, and the ratio of the evaluation value is set as a gain is considered. In a case where the range of the pixel value is 0 to 255, and one evaluation value is 10, and another evaluation value is 20, a gain process that doubles the pixel value with respect to the image data is performed. In a case where the pixel value outside the overlap area is approximately equal to 100, the pixel value changes by approximately 100 before and after the correction process, and tone becomes unnatural. Depending on the pixel value before correction, the pixel value may be saturated by the gain process. Such a point is a concern in JP-A-2011-155572 and JP-A-2016-127295 since the gain process is performed in any of JP-A-2011-155572 and JP-A-2016-127295.
In addition, the correction process when the level of the pixel value in the overlap area is different from the level of the pixel value outside the overlap area also needs to be concerned. For example, the attitude of the original document D with the overlap area close to the image sensor 42A and the other area present on the standard transport path is set as an attitude 1. The attitude of the original document D with the overlap area away from the image sensor 42A and the other area present on the standard transport path is set as an attitude 2. The attitude in a case where a predetermined line of the original document D passes through the image sensor 42A is the attitude 1. The attitude in a case where the same line of the original document D passes through the image sensor 42B is the attitude 2. In this case, the area of the first image data other than the overlap area and the area of the second image data other than the overlap area are less affected by the attitude of the original document D, and significant correction of the pixel value is not needed. However, when the overlap area is considered, the attitude 1 is significantly different from the attitude 2. Thus, the difference between the evaluation value obtained from the first image data and the evaluation value obtained from the second image data is significantly large, and the amount of correction is also large.
In JP-A-2011-155572 and JP-A-2016-127295, the correction process is uniformly performed on the whole image data using obtained correction parameters. In the above example, correction that significantly changes the pixel value is performed in an area having low necessity of correction in the first image data other than the overlap area and an area having low necessity of correction in the second image data other than the overlap area. The original brightness and the original tone may deteriorate. In other words, the correction process based on the overlap area excessively affects the other area, and excessive correction is performed.
In view of such a point, the processing circuit 100 according to the embodiment calculates the correction value of which the value changes depending on the distance from the overlap area, based on the reading result of the first sensor acquired by reading the overlap area between the first area and the second area and the reading result of the second sensor acquired by reading the overlap area. The processing circuit 100 generates the merge image by performing the offset process on at least one of the first image data and the second image data using the correction value. Hereinafter, an example of performing the offset process on both of the first image data and the second image data will be first described, and a case of performing the offset process on any one image data will be described as a modification example.
In a method of the embodiment, first, the correction process is executed by the offset process. The offset process is an addition process or a subtraction process for the correction value. In other words, the processing circuit of the embodiment generates the merge image without performing gain correction on the first image data and the second image data. Accordingly, excessive correction or the like accompanied by the above gain process can be reduced. The correction value may be any of a positive value or a negative value. That is, in a case where the correction value is a positive value, the offset process is a process of increasing the pixel value. In a case where the correction value is a negative value, the offset process is a process of decreasing the pixel value. In addition, in the following description, the amount of change in pixel value caused by the offset process will be referred to as a “change width”, an “increase width”, or a “decrease width”. Those widths are the absolute value of the correction value and are positive values. Accordingly, even in a case where the level of the evaluation value obtained from the overlap area is low, excessive correction can be reduced. The pixel value may be the brightness value in monochrome image data or may be an R pixel value, a B pixel value, and a G pixel value in color image data. In the case of using the color image data, the offset process is executed on each of R image data, B image data, and G image data. Various modifications can be made such that information acquired with given color image data is used as other color image data.
In addition, in the method of the embodiment, the correction value that is applied to the image data changes depending on the position in the main scanning axis. That is, the intensity of the correction process can be flexibly controlled depending on the position in the main scanning axis.
More specifically, the processing circuit 100 generates the merge image by performing the offset process using the correction value that tends to approach zero as being away from the overlap area. The correction value that tends to approach zero as being away from the overlap area refers to an expression that approaches zero as being away from the overlap area in a case where the relationship between the position and the magnitude of the correction value is approximated to a linear expression. For example, the expression includes not only a monotonic change in a narrow sense such that the expression approaches zero at all times as being away from the overlap area, but also a monotonic change in a broad sense such that the correction value does not change in a certain area but approaches zero at all times in another area.
In the offset process for one of the first image data and the second image data, the correction value in the overlap area is a negative value, and the correction value increases and approaches zero as being away from the overlap area. In the offset process for the other, the correction value in the overlap area is a positive value, and the correction value decreases and approaches zero as being away from the overlap area. By doing so, the change width of the pixel value is decreased as being away from the overlap area. Thus, even in a case where the difference between two evaluation values obtained from the overlap area is significant, excessive correction in the area other than the overlap area can be reduced. Particularly, in a case where the overlap area is present on both left and right sides like the image sensor 42B, it is desirable to set the correction value to zero around the center of the image sensor 42B and gradually increase the change width of the pixel value in a direction toward the overlap area in the end part of the image sensor 42B. Accordingly, by using the overlap area and an area near the overlap area, the first image data and the second image data can be smoothly joined easily, and the second image data and the third image data can be smoothly joined easily. In other words, the correction process that prevents a difference in level at the joint between the first image data and the second image data from standing out can be performed.
In a case where the process is started, first, the processing circuit 100 performs the position correction process on the first image data and the second image data (S101). The process of S101 is position correction in the subscan direction illustrated in
Next, the processing circuit 100 calculates the evaluation value to be used for determination of the correction value based on data of the overlap area in the first image data and data of the overlap area in the second image data (S102). Furthermore, the processing circuit 100 determines the correction value based on the evaluation value and performs the offset process on the first image data (S103). In addition, the processing circuit 100 determines the correction value based on the evaluation value and performs the offset process on the second image data (S104). The processes of S103 and S104 may be reversed in order or may be executed in parallel.
After the execution of S103 and S104, a blending process for the overlap area between the first image data after the offset process and the second image data after the offset process is performed (S105). By performing the processes of S102 to S105, the merge process for the image data of given one line as a target is completed. The processing circuit 100 determines whether or not the merge process is performed on all lines of the image data (S106) and finishes the merge process after processing of all lines is finished (Yes in S106). In a case where a line that is not processed yet is present (No in S106), a return is made to S102, and the merge process for the subsequent line as a target is executed. Hereinafter, each process of S102 to S105 will be described in detail.
The calculation process for the evaluation value illustrated in S102 will be described.
In addition, in the second image data, a partial range is set as a target of the offset process, and the number of pixels in the correction target area is denoted by Xmerge. While an example in which the number of pixels in the correction target area is the same in the first image data and the second image data is described here, a different number of pixels in the correction target area may be set depending on the image data.
In addition, the number of pixels in the overlap area is denoted by Xover. In the embodiment, it is necessary to prevent the joint from standing out, and a range that includes the overlap area and is larger than the overlap area needs to be set as the correction target area. That is, Xmerge>Xover is established.
An X1 axis is an axis that is set in the main scanning axis and is a coordinate axis on which the X1 coordinate value of the end point of the overlap area on the second image data side is equal to Xmerge. The end point of the overlap area on the second image data is the end point of the first image data and is the end point of the first image data on one side of the correction target area. Thus, the origin of the X1 axis is the end point of the first image data on the other side of the correction target area.
In addition, an X2 axis is an axis that is set in the main scanning axis and is a coordinate axis of which the origin is the end point of the overlap area on the first image data side. The end point of the overlap area on the first image data side is the end point of the second image data and is the end point of the second image data on one side of the correction target area. Thus, in the case of setting the origin in such a manner, the X2 coordinate value of the end point of the second image data on the other side of the correction target area is equal to Xmerge.
As illustrated in
The processing circuit 100 of the embodiment calculates the correction value based on the average value of the pixel values acquired by reading the overlap area by the first sensor and the average value of the pixel values acquired by reading the overlap area by the second sensor. In the example in
In the overlap area, the same image is a reading target. Thus, D1 and D2 are ideally to match in a case where there are no individual differences among the image sensors 42 or no differences in the attitude of the original document D. In a case where the difference between the characteristics of the pixel value acquired by reading the overlap area by the first sensor and the characteristics of the pixel value acquired by reading the overlap area by the second sensor is known, the joint can be appropriately corrected by a process that reduces the difference. In this case, a process of obtaining the evaluation value and a process of obtaining the correction value based on the evaluation value can be easily performed by using a statistical quantity such as an average value as the evaluation value representing the characteristics. An average value D1ave of the pixel values acquired by reading the overlap area by the first sensor is obtained using Expression (1), and an average value D2ave of the pixel values acquired by reading the overlap area by the second sensor is obtained using Expression (2). While an arithmetic mean is used in Expressions (1) and (2), a modification can be made such that a weighted mean or a trimmed mean is used as the average value. In addition, as described above, D1 and D2 are ideally to match. By appropriately setting an upper limit value for the evaluation value and the correction value, excessive correction can be reduced even in a case where the value of the difference between D1 and D2 is increased due to a sudden cause.
The offset process for the first image data illustrated in S103 will be described. As described above using
In the embodiment, in a case where a coefficient that is obtained based on the average value D1ave of the pixel values acquired by reading the overlap area by the first sensor, the average value D2ave of the pixel values acquired by reading the overlap area by the second sensor, and Xmerge that is the length of the area on which the offset process is performed in the first image data is denoted by A, the offset process for the first image data is performed using Expression (3). In Expression (3), the pixel value of the first image data in a case where the X1 coordinate value is equal to x1 satisfying 0≤x1≤Xmerge is denoted by D1(x1), and the pixel value of the first image data after the offset process is denoted by D′1(x1).
D′
1(x1)+A×x1 (3)
As illustrated in
A specific offset process is performed using, for example, Expression (4).
In
In this case, the coefficient A is equal to a value acquired by subtracting D1ave from a value of a straight line illustrated by LC. Here, D1ave>D2ave is satisfied. Thus, A>0 is satisfied. The change width of D1 caused by the offset process is equal to zero at the time of x1=0, is increased as x1 is increased, and has a maximum value |D1ave−D2ave| at x1=2×Xmerge−Xover. However, since x1 satisfies 0≤x1≤Xmerge, the change width of D1 is restricted to a range below |D1ave−D2ave|, and an appropriate correction value can be set.
As will be described below using
The offset process for the second image data illustrated in S104 will be described. The offset process for the second image data is the same as that for the first image data. In a case where a coefficient that is obtained based on D1ave, D2ave and Xmerge is denoted by B, the processing circuit 100 performs the offset process for the second image data using Expression (5). In Expression (5), the pixel value of the second image data after the offset process is denoted by D′2 (x2).
D′
2(x2)=D2(x2)+B×(Xmerge−x2) (5)
In addition, the same point as the first image data is that an excessive increase in the absolute value of B is not preferable. Thus, a specific offset process is performed using, for example, Expression (6).
In this case, the coefficient B is equal to a value acquired by reversing the sign of the coefficient in Expression (5) and is equal to a value acquired by subtracting D2ave from the value of the straight line illustrated by LC. Here, D1ave>D2ave is satisfied. Thus, B>0 is satisfied. The change width of D2 caused by the offset process is equal to zero at the time of x2=Xmerge, is increased as x2 is decreased, and has a maximum value |D1ave−D2ave| at x2=−(Xmerge−Xover). However, since x2 satisfies 0≤x2≤Xmerge, the change width of D2 is restricted to a range below |D1ave−D2ave|. Accordingly, an appropriate correction value in which both of the change width of the pixel value caused by the offset process for the first image data and the change width of the pixel value caused by the offset process for the second image data are considered can be set.
The blending process for the overlap area illustrated in S105 will be described. By the process described above, the first image data after the offset process and the second image data after the offset process are obtained.
As is apparent from
The processing circuit 100 generates an image of an area corresponding to the overlap area in the merge image by performing the offset process on the first image data and the second image data using the correction value and merging the first image data after the offset process with the second image data after the offset process. By doing so, the pixel value of the merge image in the overlap area can be appropriately determined.
In the case of x<Xmerge−Xover, only the first image data is present, and the second image data is not present. Thus, in a case where the degree of contribution of D′2(x) is increased near x=Xmerge−Xover, a leap may occur in the pixel value at the boundary between the overlap area and an area other than the overlap area. Thus, the degree of contribution of D′1(x) may be increased in an area close to x=Xmerge−Xover. For example, in the case of blending D′1(x) and D′2(x) at a ratio of α:(1−α), it is preferable that α=1 be satisfied in the case of x=Xmerge−Xover. Similarly, it is preferable that α=0 be satisfied in the case of x=Xmerge in order to increase the degree of contribution of D′2(x).
Thus, the processing circuit 100 determines a pixel value D′(x) of the merge image using Expressions (7) to (9). In the case of x=Xmerge−Xover, Expression (7) matches Expression (8). In the case of x=Xmerge, Expression (7) matches Expression (9). In the case of Xmerge−Xover<x<Xmerge, the coefficient is determined such that as x is increased, the degree of contribution of D′1(x) is decreased, and the degree of contribution of D′2(x) is increased.
While each expression is described above using the X1 axis, the X2 axis, and the X axis as a reference, those skilled in the art may perceive that various modifications can be made to the setting of the coordinate system. For example, the main scanning axis of the image reading apparatus 11 may be set as the X axis. Of two end points of the overlap area, the X coordinate value of the end point on the first sensor side may be denoted by xA, and the X coordinate value of the end point on the second sensor may be denoted by xB. In this case, the overlap area is a range in which the X coordinate value satisfies xA≤x≤xB. In the case of denoting the pixel value of the first image data after the offset process by D′1(x), denoting the pixel value of the second image data after the offset process by D′2(x), and denoting the pixel value of the merge image by D′(x), Expression (7) can be modified into Expression (10).
Hereinafter, several modification examples will be described.
The merge process for two image data of the reading results of two image sensors 42 is described above. The image reading apparatus 11 of the embodiment may include three or more image sensors 42 as illustrated in
The overlap among the first image data to the third image data is the same as illustrated in
As in
In a case where the correction target areas overlap, the processing circuit 100 needs to determine whether to employ the correction value of any one offset process or calculate a new correction value based on two correction values for the overlapping part. In other words, contention between two offset processes needs to be resolved, and processing is complicated.
The method of the embodiment prevents the joint of two image data from standing out as illustrated by B2 in
Thus, the processing circuit 100 generates the merge image by performing a first offset process in which the offset process using the correction value is performed on an area of the first image data shorter than half of the length of the first sensor in the main scanning axis, and a second offset process in which the offset process using the correction value is performed on an area of the second image data shorter than half of the length of the second sensor in the main scanning axis.
By doing so, in a case where using three or more image sensors 42 requires the offset process at both ends of the image such as the second image data, the target areas of the offset processes that do not interfere with each other can be set. Accordingly, two offset processes can be easily implemented, and excessive correction in an area other than the overlap area can be reduced.
In addition, an example of performing both of the offset process on the first image data and the offset process on the second image data in the merge process for the first image data and the second image data is described above. Any one of the offset processes may be performed.
Simply, in the process described above using
However, as described above using
Thus, in the case of considering the magnitude of the absolute value of the correction value, the offset process for the first image data may be performed using a different correction value from that in
In addition, an example of setting the average value of the pixel values D1(x1) and D2(x2) in a line as the evaluation value in the case of performing the merge process on given one line of the image data is illustrated above. In a case where noise is mixed with the reading result of the line, an inappropriate evaluation value is set, and the tone and the brightness may become unnatural. For example, the merge image in which a difference in level occurs in the line is generated.
It is considered that an image of a given line and an image of a nearby line of the line in the image of the reading target have a certain degree of correlation. Thus, a high degree of correlation is expected between the evaluation value obtained from the pixel value of the given line and the evaluation value obtained from the pixel value of the nearby line. Thus, in the present modification example, the processing circuit 100 calculates the evaluation value based on information related to a plurality of lines including a processing target line.
For example, in the merge process for an n-th (n satisfies 0≤n≤N; N is a value representing the number of pixels of image data in the subscan direction) line of image data, the evaluation value is calculated based on the pixel values in a range of an (n−i)-th line to an (n+j)-th line. Here, i and j are non-negative integers. Any one of i and j may be equal to zero.
The pixel value of the first image data having an X1 coordinate value equal to x1 in a line corresponding to a y-th line in the subscan direction is denoted by D1(x1, y). In this case, the average value is obtained in the range of n−i≤y≤n+j in the subscan direction, and the average value is obtained in the range of (Xmerge−Xover)≤x1≤Xmerge in the main scanning axis, and the result of calculation is set as D1ave. The calculation for obtaining the average value may be performed first in the main scanning axis or may be performed first in the subscan direction. In addition, the same applies to D2ave. In other words, the average value in the main scanning axis that is the evaluation value for determining the correction value is calculated based on a moving average in the subscan direction.
In such a manner, by obtaining the evaluation value to be used in processing of a given line from information related to a plurality of lines, the effect of noise can be reduced.
In addition, a part or most of the processes of the image reading apparatus 11 and the processing circuit 100 of the embodiment may be implemented by a program. In this case, the image reading apparatus 11 and the like of the embodiment are implemented by causing a processor such as a CPU to execute the program. Specifically, the program that is stored in a non-transitory information storage medium is read, and the processor such as a CPU executes the read program. The information storage medium that is a computer-readable medium stores the program, data, and the like. The function of the information storage medium can be implemented by an optical disc such as a DVD or a CD, an HDD, a memory, or the like. The processor such as a CPU performs various processes of the embodiment based on the program stored in the information storage medium. That is, the information storage medium stores the program for causing a computer to function as each unit of the embodiment.
In addition, the method of the embodiment can be applied to a control method for the image reading apparatus 11, an operation method for the image reading apparatus 11, or an image generation method that executes a part or all of the steps illustrated in
While the embodiment to which the invention is applied and the modification examples are described above, the invention is not limited to the embodiment and the modification examples and can be implemented in the stage of embodiment by modifying constituents without departing from the nature of the invention. In addition, various invention can be formed by appropriately combining a plurality of constituents disclosed in the embodiment and the modification examples. For example, several constituents may be removed from all constituents disclosed in the embodiment and the modification examples. Furthermore, constituents described in different embodiments and modification examples may be appropriately combined. In addition, a term that is disclosed at least once along with a different term having a wider sense or the same sense in the specification or, the drawings can be replaced with the different term at any location in the specification or the drawings. In such a manner, various modifications and applications can be made without departing from the gist of the invention. The invention is also not limited to the above expressions and may employ mathematically equivalent expressions and other expressions. However, the expression of the correction value is desirably an expression that approaches zero as being away from the overlap area in a case where the relationship between the position and the magnitude of the correction value is approximated to a linear expression. Further desirably, the expression of the correction value is an expression that monotonically changes.
Number | Date | Country | Kind |
---|---|---|---|
2018-041551 | Mar 2018 | JP | national |