[Apresentação de classe opencv Rect]

apresentação de classe Rect

classe opencv Rect é uma classe muito popular, uso isso aqui arrumado classe Rect

1. Rect criado

Matriz de criação exige quatro parâmetros, a saber, a parte superior esquerda coordenadas (x, y) e a largura e altura da matriz, de modo a criar formulação vez

Rect r(x,y,width,height);

2. Funções Comuns

2.1 tamanho () 和 área ()

Este conjunto de funções é usada para descrever o tamanho e área de um rectângulo. tamanho () devolve o valor é um tipo de tamanho variável, incluindo a largura e a altura do rectângulo, função da área () é retornado para a área de um rectângulo.

   Rect rect1(0,0,300,300);
	
	cout << rect1.size() << endl;
	cout << rect1.area() << endl;

2,2 br () e Tl ()

Este conjunto de funções é usada para descrever um ponto de coordenadas rectangulares. l () retorna as coordenadas de canto inferior direito (BottomRight), enquanto TL () retorna o rectângulo é as coordenadas superior esquerdo (TopLeft). Estes tipos de valor duas funções de retorno são ponto

2.3 contém () 和 interior ()

Esta função devolve booleano grupo de tipos, e é usado para descrever a posição relativa de um ponto de rectângulo.
O uso é como segue:

Rect rect1(0,0,300,300);
Point x(1, 1);
cout << rect1.contains(x) << endl; //用来判断点x是否包含在矩形rect1中
cout<<x.inside(rect1)<<endl;//用来判断点x是否包含在矩形rect1中

A partir dos resultados, o código está sendo executado, funções e contém funções dentro estão determinados relação relativa ponto e retangular, em vez de "entrada de programação opencv3", escrito em, função Dentro usado para determinar se o retângulo no retângulo.

3. conversão rectangular

classe Rect e simplesmente adicionando um tipo de variável Ponto retangular alcançada pela tradução, e com a adição de alcançar uma variável rectangular Tipo do tamanho de zoom.
Testes são os seguintes:

//平移
	Mat m = imread("1.jpg");
	Rect rect1(0,0,300,300);
	Point x(100, 100);
	Scalar s(255, 255, 0);
	rectangle(m, rect1, s);
	rect1 += x;
	rectangle(m, rect1, s);
	imshow("a", m);
	waitKey(0);
	

Aqui Insert Picture Descrição

//放缩
	Mat m = imread("1.jpg");
	Rect rect1(0,0,300,300);
    Size x(100, 100);
	Scalar s(255, 255, 0);
	rectangle(m, rect1, s);
	rect1 += x;
	rectangle(m, rect1, s);
	imshow("a", m);
	waitKey(0);

Aqui Insert Picture Descrição

4. cálculo retângulo

Operadores pode ser alcançado por tomar & retângulo e definir o operador | assumir intersecção retangular pode ser implementado.

	Mat m1 = imread("1.jpg");
	Mat m2 = imread("1.jpg");
	Rect rect1(0,0,300,300);
	Rect rect2(0, 0, 100, 100);
	Scalar s(255, 255, 0);

	Rect rt1 = rect1 & rect2; //取并集
	rectangle(m1, rt1, s);
	Rect rt2 = rect1 | rect2; //取交集
	rectangle(m2, rt2, s);
	imshow("交集", m1);
	imshow("并集", m2);

Aqui Insert Picture Descrição

Publicado 14 artigos originais · ganhou elogios 1 · vista 503

Acho que você gosta

Origin blog.csdn.net/qq_41741344/article/details/104344554
Recomendado
Clasificación