示例#1
0
        /// <summary>
        /// 通过GX_PIXEL_FORMAT_ENTRY获取最优Bit位
        /// </summary>
        /// <param name="em">图像数据格式</param>
        /// <returns>最优Bit位</returns>
        private GX_VALID_BIT_LIST __GetBestValudBit(GX_PIXEL_FORMAT_ENTRY emPixelFormatEntry)
        {
            GX_VALID_BIT_LIST emValidBits = GX_VALID_BIT_LIST.GX_BIT_0_7;

            switch (emPixelFormatEntry)
            {
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_MONO8:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GR8:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_RG8:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GB8:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_BG8:
            {
                emValidBits = GX_VALID_BIT_LIST.GX_BIT_0_7;
                break;
            }

            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_MONO10:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GR10:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_RG10:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GB10:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_BG10:
            {
                emValidBits = GX_VALID_BIT_LIST.GX_BIT_2_9;
                break;
            }

            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_MONO12:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GR12:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_RG12:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GB12:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_BG12:
            {
                emValidBits = GX_VALID_BIT_LIST.GX_BIT_4_11;
                break;
            }

            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_MONO14:
            {
                //暂时没有这样的数据格式待升级
                break;
            }

            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_MONO16:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GR16:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_RG16:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GB16:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_BG16:
            {
                //暂时没有这样的数据格式待升级
                break;
            }

            default:
                break;
            }
            return(emValidBits);
        }
示例#2
0
        private const uint GX_PIXEL_8BIT     = 0x00080000;                    ///<8 bit data image format

        /// <summary>
        /// Get the best 8 bit by GX_PIXEL_FORMAT_ENTRY
        /// </summary>
        /// <param name="em">image format</param>
        /// <returns>best bit bit</returns>
        public static GX_VALID_BIT_LIST GetBestValidBit(GX_PIXEL_FORMAT_ENTRY emPixelFormatEntry)
        {
            GX_VALID_BIT_LIST emValidBits = GX_VALID_BIT_LIST.GX_BIT_0_7;

            switch (emPixelFormatEntry)
            {
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_MONO8:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GR8:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_RG8:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GB8:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_BG8:
            {
                emValidBits = GX_VALID_BIT_LIST.GX_BIT_0_7;
                break;
            }

            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_MONO10:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GR10:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_RG10:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GB10:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_BG10:
            {
                emValidBits = GX_VALID_BIT_LIST.GX_BIT_2_9;
                break;
            }

            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_MONO12:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GR12:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_RG12:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GB12:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_BG12:
            {
                emValidBits = GX_VALID_BIT_LIST.GX_BIT_4_11;
                break;
            }

            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_MONO14:
            {
                //There is no such data format to be upgraded
                break;
            }

            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_MONO16:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GR16:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_RG16:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_GB16:
            case GX_PIXEL_FORMAT_ENTRY.GX_PIXEL_FORMAT_BAYER_BG16:
            {
                //There is no such data format to be upgraded
                break;
            }

            default:
                break;
            }
            return(emValidBits);
        }
示例#3
0
        /// <summary>
        /// 判断PixelFormat是否为8位
        /// </summary>
        /// <param name="emPixelFormatEntry">图像数据格式</param>
        /// <returns>true为8为数据,false为非8位数据</returns>
        private bool __IsPixelFormat8(GX_PIXEL_FORMAT_ENTRY emPixelFormatEntry)
        {
            bool bIsPixelFormat8    = false;
            uint uiPixelFormatEntry = (uint)emPixelFormatEntry;

            if ((uiPixelFormatEntry & PIXEL_FORMATE_BIT) == GX_PIXEL_8BIT)
            {
                bIsPixelFormat8 = true;
            }
            return(bIsPixelFormat8);
        }
示例#4
0
        /// <summary>
        /// 判断PixelFormat是否为8位
        /// </summary>
        /// <param name="emPixelFormatEntry">图像数据格式</param>
        /// <returns>true为8为数据,false为非8位数据</returns>
        private bool __IsPixelFormat8(GX_PIXEL_FORMAT_ENTRY emPixelFormatEntry)
        {
            uint PIXEL_FORMATE_BIT  = 0x00FF0000;     //用于与当前的数据格式进行与运算得到当前的数据位数
            uint GX_PIXEL_8BIT      = 0x00080000;     //8位数据图像格式
            bool bIsPixelFormat8    = false;
            uint uiPixelFormatEntry = (uint)emPixelFormatEntry;

            if ((uiPixelFormatEntry & PIXEL_FORMATE_BIT) == GX_PIXEL_8BIT)
            {
                bIsPixelFormat8 = true;
            }
            return(bIsPixelFormat8);
        }