C3204
2025-12-29 fec341de45f4b3fd1825807f0b3261143fa13caa
LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobTool.cs
@@ -1,5 +1,6 @@
using HalconDotNet;
using Newtonsoft.Json;
using System.Drawing.Imaging;
namespace LB_VisionProcesses.Alogrithms.Halcon
{
@@ -78,6 +79,27 @@
                    Result = false;
                    return;
                }
                if (InputImage is Bitmap)
                {
                    try
                    {
                        using (HImage hImage = new HImage())
                        {
                            Rectangle rect = new Rectangle(0, 0, ((Bitmap)InputImage).Width, ((Bitmap)InputImage).Height);
                            BitmapData srcBmpData = ((Bitmap)InputImage).LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format32bppRgb);
                            hImage.GenImageInterleaved(srcBmpData.Scan0, "rgbx", ((Bitmap)InputImage).Width, ((Bitmap)InputImage).Height, 0, "byte", ((Bitmap)InputImage).Width, ((Bitmap)InputImage).Height, 0, 0, -1, 0);
                            ((Bitmap)InputImage).UnlockBits(srcBmpData);
                            ((Bitmap)InputImage).Dispose();
                            InputImage = hImage.Clone();
                        }
                    }
                    catch (Exception ex)
                    {
                        Msg = "转图出错:" + ex.Message;
                        Result = false;
                        return;
                    }
                }
                if (!(InputImage is HObject))
                {
                    Msg = "输入图片格式不为HObject";
@@ -86,7 +108,7 @@
                }
                #region 裁剪区域
                object DomainImage = null;
                HImage DomainImage = null;
                if (!ReduceDomainImage(InputImage, ref DomainImage))
                {
                    Msg = "裁剪区域失败";