Example #1
0
        /// <summary>
        /// 各チャンネルの画像を取得する
        /// </summary>
        void GetRGBHSV()
        {
            // RGB取得
            Mat[] srcBgrArray    = Cv2.Split(SrcBmp.ToMat());
            Mat[] targetBgrArray = Cv2.Split(TargetBmp.ToMat());

            // HSV取得
            Mat tempSrcHsv    = new Mat();
            Mat tempTargetHsv = new Mat();

            Cv2.CvtColor(SrcBmp.ToMat(), tempSrcHsv, ColorConversionCodes.BGR2HSV);
            Cv2.CvtColor(TargetBmp.ToMat(), tempTargetHsv, ColorConversionCodes.BGR2HSV);
            Mat[] srcHsvArray    = Cv2.Split(tempSrcHsv);
            Mat[] targetHsvArray = Cv2.Split(tempTargetHsv);

            // 格納
            SrcImages[R]    = srcBgrArray[2].ToBitmap();
            SrcImages[G]    = srcBgrArray[1].ToBitmap();
            SrcImages[B]    = srcBgrArray[0].ToBitmap();
            SrcImages[H]    = srcHsvArray[0].ToBitmap();
            SrcImages[S]    = srcHsvArray[1].ToBitmap();
            SrcImages[V]    = srcHsvArray[2].ToBitmap();
            TargetImages[R] = targetBgrArray[2].ToBitmap();
            TargetImages[G] = targetBgrArray[1].ToBitmap();
            TargetImages[B] = targetBgrArray[0].ToBitmap();
            TargetImages[H] = targetHsvArray[0].ToBitmap();
            TargetImages[S] = targetHsvArray[1].ToBitmap();
            TargetImages[V] = targetHsvArray[2].ToBitmap();
        }