更改标签的功能

问题描述 投票:0回答:0

我正在用 C# 构建一个函数,它将对帧进行切片,然后计算该切片中的白色像素。我希望能够在多个框架/图片框上使用此功能,因此我需要将 label.Text 的名称更改为正确的标签。我该怎么办?我将使用 mergedImage、mergedImage2 和 BinaryImage。每个图像还将有 outerRight、innerRight、Cent、innerLeft、outerLeft。

        private void Slicing(Mat inputFrame)
        {
            Mat frame = inputFrame.Clone();

            //count the number of white pixels
            int whitePixelsExtendedOutterLeft = 0;
            int whitePixelsExtendedInnerLeft = 0;
            int whitePixelsExtendedCent = 0;
            int whitePixelsExtendedInnerRight = 0;
            int whitePixelsExtendedOutterRight = 0;

            Image<Gray, byte> img = frame.ToImage<Gray, byte>();

            //Calculates the outter left slice
            for (int i = 0; i <= 4; i++)
            {
                for (int x = i; (frame.Width / 5) * i < (frame.Width / 5) * (i+1) ; x++)
                {
                    for (int y = 0; y < frame.Height; y++)
                    {
                        switch (i)
                        {
                            case 0:
                                if (img.Data[y, x, 0] == 255) whitePixelsExtendedOutterLeft++;
                                break;
                            case 1:
                                if (img.Data[y, x, 0] == 255) whitePixelsExtendedInnerLeft++;
                                break;
                            case 2:
                                if (img.Data[y, x, 0] == 255) whitePixelsExtendedCent++;
                                break;
                            case 3:
                                if (img.Data[y, x, 0] == 255) whitePixelsExtendedInnerRight++;
                                break;
                            case 4:
                                if (img.Data[y, x, 0] == 255) whitePixelsExtendedOutterRight++;
                                break;

                        }

                    }
                }
            }
            
            //displays their respective white pixel count to form1
            Invoke(new Action(() =>
            {
                mergedImage.Text = $"{whitePixelsExtendedOutterLeft} Outter Left ";
                //whitePixelsExtendedOutputLIL.Text = $"{whitePixelsExtendedInnerLeft} Inner Left ";
                //whitePixelsExtendedOutputLCent.Text = $"{whitePixelsExtendedCent} Center ";
                //whitePixelsExtendedOutputLIR.Text = $"{whitePixelsExtendedInnerRight} Inner Right ";
                //whitePixelsExtendedOutputLOR.Text = $"{whitePixelsExtendedOutterRight} Outter Right ";
            }));
        }

我试过连接标签,如:“mergedImage”++ i .Text。当然这没有用。

c# emgucv
© www.soinside.com 2019 - 2024. All rights reserved.