【二维码】【Zxing】GridSample解析

目录

父类GridSampler

	/// <summary> Implementations of this class can, given locations of finder patterns for a QR code in an
    /// image, sample the right points in the image to reconstruct the QR code, accounting for
    /// perspective distortion. It is abstracted since it is relatively expensive and should be allowed
    /// to take advantage of platform-specific optimized implementations, like Sun's Java Advanced
    /// Imaging library, but which may not be available in other environments such as J2ME, and vice
    /// versa.
    /// 
    /// The implementation used can be controlled by calling {@link #setGridSampler(GridSampler)}
    /// with an instance of a class which implements this interface.
    /// </summary>
    /// <author> Sean Owen</author>
    public abstract class GridSampler
    {
   
        /// <returns> the current implementation of <see cref="GridSampler"/>
        /// </returns>
        public static GridSampler Instance
        {
   
            get
            {
   
                return gridSampler;
            }

        }

        private static GridSampler gridSampler = new DefaultGridSampler();

        /// <summary> Sets the implementation of <see cref="GridSampler"/> used by the library. One global
        /// instance is stored, which may sound problematic. But, the implementation provided
        /// ought to be appropriate for the entire platform, and all uses of this library
        /// in the whole lifetime of the JVM. For instance, an Android activity can swap in
        /// an implementation that takes advantage of native platform libraries.
        /// </summary>
        /// <param name="newGridSampler">The platform-specific object to install.</param>
        public static void setGridSampler(GridSampler newGridSampler)
        {
   
            if (newGridSampler == null)
            {
   
                throw new System.ArgumentException();
            }
            gridSampler = newGridSampler;
        }

        /// <summary>
        ///   <p>Samples an image for a square matrix of bits of the given dimension. This is used to extract
        /// the black/white modules of a 2D barcode like a QR Code found in an image. Because this barcode
        /// may be rotated or perspective-distorted, the caller supplies four points in the source image
        /// that define known points in the barcode, so that the image may be sampled appropriately.</p>
        ///   <p>The last eight "from" parameters are four X/Y coordinate pairs of locations of points in
        /// the image that define some significant points in the image to be sample. For example,
        /// these may be the location of finder pattern in a QR Code.</p>
        ///   <p>The first eight "to" parameters are four X/Y coordinate pairs measured in the destination
        /// <see cref="BitMatrix"/>, from the top left, where the known points in the image given by the "from"
        /// parameters map to.</p>
        ///   <p>These 16 parameters define the transformation needed to sample the image.</p>
        /// </summary>
        /// <param name="image">image to sample</param>
        /// <param name="dimensionX">The dimension X.</param>
        /// <param name="dimensionY">The dimension Y.</param>
        /// <param name="p1ToX">The p1 preimage X.</param>
        /// <param name="p1ToY">The p1 preimage  Y.</param>
        /// <param name="p2ToX">The p2 preimage  X.</param>
        /// <param name="p2ToY">The p2 preimage  Y.</param>
        /// <param name="p3ToX">The p3 preimage  X.</param>
        /// <param name="p3ToY">The p3 preimage  Y.</param>
        /// <param name="p4ToX">The p4 preimage  X.</param>
        /// <param name="p4ToY">The p4 preimage  Y.</param>
        /// <param name="p1FromX">The p1 image X.</param>
        /// <param name="p1FromY">The p1 image Y.</param>
        /// <param name="p2FromX">The p2 image X.</param>
        /// <param name="p2FromY">The p2 image Y.</param>
        /// <param name="p3FromX">The p3 image X.</param>
        /// <param name="p3FromY">The p3 image Y.</param>
        /// <param name="p4FromX">The p4 image X.</param>
        /// <param name="p4FromY">The p4 image Y.</param>
        /// <returns>
        /// <see cref="BitMatrix"/> representing a grid of points sampled from the image within a region
        /// defined by the "from" parameters
        /// </returns>
        /// <throws>  ReaderException if image can't be sampled, for example, if the transformation defined </throws>
        public abstract BitMatrix sampleGrid(BitMatrix image, int dimensionX, int dimensionY,
            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值