pub struct ITFReader { /* private fields */ }Expand description
Implements decoding of the ITF format, or Interleaved Two of Five.
This Reader will scan ITF barcodes of certain lengths only. At the moment it reads length 6, 8, 10, 12, 14, 16, 18, 20, 24, and 44 as these have appeared "in the wild". Not all lengths are scanned, especially shorter ones, to avoid false positives. This in turn is due to a lack of required checksum function.
The checksum is optional and is not applied by this Reader. The consumer of the decoded value will have to apply a checksum if required.
http://en.wikipedia.org/wiki/Interleaved_2_of_5 is a great reference for Interleaved 2 of 5 information.
@author kevin.osullivan@sita.aero, SITA Lab.
Trait Implementations§
source§impl OneDReader for ITFReader
impl OneDReader for ITFReader
source§fn decode_row(
&mut self,
rowNumber: u32,
row: &BitArray,
hints: &DecodingHintDictionary
) -> Result<RXingResult>
fn decode_row( &mut self, rowNumber: u32, row: &BitArray, hints: &DecodingHintDictionary ) -> Result<RXingResult>
Attempts to decode a one-dimensional barcode format given a single row of
source§fn _do_decode<B: Binarizer>(
&mut self,
image: &mut BinaryBitmap<B>,
hints: &DecodingHintDictionary
) -> Result<RXingResult>
fn _do_decode<B: Binarizer>( &mut self, image: &mut BinaryBitmap<B>, hints: &DecodingHintDictionary ) -> Result<RXingResult>
We’re going to examine rows from the middle outward, searching alternately above and below the
middle, and farther out each time. rowStep is the number of rows between each successive
attempt above and below the middle. So we’d scan row middle, then middle - rowStep, then
middle + rowStep, then middle - (2 * rowStep), etc.
rowStep is bigger as the image is taller, but is always at least 1. We’ve somewhat arbitrarily
decided that moving up and down by about 1/16 of the image is pretty good; we try more of the
image if “trying harder”. Read more
source§impl Reader for ITFReader
impl Reader for ITFReader
source§fn decode<B: Binarizer>(
&mut self,
image: &mut BinaryBitmap<B>
) -> Result<RXingResult, Exceptions>
fn decode<B: Binarizer>( &mut self, image: &mut BinaryBitmap<B> ) -> Result<RXingResult, Exceptions>
Locates and decodes a barcode in some format within an image. Read more
source§fn decode_with_hints<B: Binarizer>(
&mut self,
image: &mut BinaryBitmap<B>,
hints: &DecodingHintDictionary
) -> Result<RXingResult, Exceptions>
fn decode_with_hints<B: Binarizer>( &mut self, image: &mut BinaryBitmap<B>, hints: &DecodingHintDictionary ) -> Result<RXingResult, Exceptions>
Locates and decodes a barcode in some format within an image. This method also accepts
hints, each possibly associated to some data, which may help the implementation decode. Read more
Auto Trait Implementations§
impl RefUnwindSafe for ITFReader
impl Send for ITFReader
impl Sync for ITFReader
impl Unpin for ITFReader
impl UnwindSafe for ITFReader
Blanket Implementations§
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere Dst: ApproxFrom<Src, Scheme>, Scheme: ApproxScheme,
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where Self: Sized + ApproxInto<Dst>,
Approximate the subject to a given type with the default scheme.
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where Self: Sized + ApproxInto<Dst, Scheme>, Scheme: ApproxScheme,
Approximate the subject to a given type with a specific scheme.
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.§impl<Src> TryFrom<Src> for Src
impl<Src> TryFrom<Src> for Src
§impl<Src, Dst> TryInto<Dst> for Srcwhere
Dst: TryFrom<Src>,
impl<Src, Dst> TryInto<Dst> for Srcwhere Dst: TryFrom<Src>,
§impl<Src> ValueFrom<Src> for Src
impl<Src> ValueFrom<Src> for Src
§fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
Convert the given value into an exactly equivalent representation.