Пример #1
0
        /// <summary>
        /// 计算提取区域(数组结果)
        /// </summary>
        /// <returns></returns>
        public bool CalculateNonUnionPositiveRegion()
        {
            if (_operationFlag == ROI_MODE_NONE)
            {
                return(true);
            }
            HalconDotNet.HObject tmp = new HalconDotNet.HObject();
            tmp.GenEmptyObj();

            for (int i = 0; i < ROIList.Count; i++)
            {
                switch (((ROI)ROIList[i]).GetOperationFlag())
                {
                case ROI.MODE_NEGATIVE:
                    break;

                case ROI.MODE_POSITIVE:
                    tmp = tmp.ConcatObj(((ROI)ROIList[i]).GetModelRegion());
                    break;
                }
            }

            _nonUnionPositiveRegion = tmp;

            if (ROIList.Count == 0)
            {
                return(false);
            }

            return(true);
        }