C#/C# OpenCV/

C# OpenCV 3-3. 크기조절 & 자르기

2019. 10. 30.

ReSize & SubMat

Cv2.ReSize 이미지를 원하는 사이즈로 변경

Cv2.SubMat 이미지의 원하는 부분(관심영역,Roi) 추출

 

Example Code

using System;
using System.Windows.Forms;
using OpenCvSharp;

namespace resizetest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Mat src = Cv2.ImRead("image.jpg");
            Cv2.ImShow("source", src);

            Mat dst = new Mat();
            Size size = new Size(src.Width * 2, src.Height * 2);
            Cv2.Resize(src, dst, size);
            Cv2.ImShow("resize", dst);

            Mat roi = new Mat();
            Rect rect = new Rect(70, 30, 120, 120);
            roi = src.SubMat(rect);            
            Cv2.ImShow("rect", roi);
            
            Cv2.WaitKey(0);
            Cv2.DestroyAllWindows();
        }
    }
}

 

Explain Code

			Mat src = Cv2.ImRead("image.jpg");
            Cv2.ImShow("source", src);

소스이미지 불러오기

 

 			Mat dst = new Mat();
            Size size = new Size(src.Width * 2, src.Height * 2);
            Cv2.Resize(src, dst, size);
            Cv2.ImShow("resize", dst);

리사이즈할 사이즈 설정

Cv2.Resize 를 통해 리사이즈

 

			Mat roi = new Mat();
            Rect rect = new Rect(70, 30, 120, 120);
            roi = src.SubMat(rect);            
            Cv2.ImShow("rect", roi);

자를부분 설정

    Rect(int x, int y, int width, int height) 시작 X좌표, 시작 Y좌표, 너비, 높이

Cv2.SubMat 을 통해 자르기

 

결과