领胜LDS 键盘AOI检测项目
patrick.xu
2021-03-06 8a3ab64a65da226636743be07c4bee63f50da25d
src/Bro.Common.Device/DeviceBase/HDevEngineTool.cs
@@ -214,7 +214,7 @@
            }
        }
        public static Bitmap ConvertHImgaeToBitmap(this HImage hImage)
        public static Bitmap ConvertHImageToBitmap(this HImage hImage)
        {
            try
            {
@@ -272,5 +272,59 @@
            return img;
        }
        public static Bitmap ConvertHImageTo16GrayBitmap(this HImage originHImage)
        {
            HImage hImage = originHImage.Clone();
            //get_domain(Image, rectangle)
            //* 获取全图中像素灰度值的最大和最小值
            //min_max_gray(rectangle, Image, 0, Min, Max, range)
            hImage.MinMaxGray(hImage.GetDomain(), 0, out double min, out double max, out double range);
            //* 将16位图的灰度值映射到0 - 255上
            double mult = 255.0 / (max - min);
            double add = -mult * min;
            hImage = hImage.ScaleImage(mult, add);
            //* 转换为'byte'类型
            //convert_image_type(Image_scaled, ImageConverted, 'byte')
            hImage = hImage.ConvertImageType("byte");
            Bitmap showImage = hImage.ConvertHImageToBitmap();
            hImage.Dispose();
            return showImage;
        }
        public static Bitmap ConvertSignedHImageTo16GrayBitmap(this HImage originHImage)
        {
            HImage hImage = originHImage.Clone();
            hImage = hImage.ConvertImageType("int4");
            hImage = hImage.ScaleImage(1.0, 32768);
            hImage = hImage.ConvertImageType("uint2");
            //get_domain(Image, rectangle)
            //* 获取全图中像素灰度值的最大和最小值
            //min_max_gray(rectangle, Image, 0, Min, Max, range)
            hImage.MinMaxGray(hImage.GetDomain(), 0, out double min, out double max, out double range);
            //* 将16位图的灰度值映射到0 - 255上
            double mult = 255.0 / (max - min);
            double add = -mult * min;
            hImage = hImage.ScaleImage(mult, add);
            //* 转换为'byte'类型
            //convert_image_type(Image_scaled, ImageConverted, 'byte')
            hImage = hImage.ConvertImageType("byte");
            Bitmap showImage = hImage.ConvertHImageToBitmap();
            hImage.Dispose();
            return showImage;
        }
    }
}