Imgproc绘制矩形后如何变为texture
时间: 2023-10-26 09:06:24 浏览: 46
要将OpenCV中的矩形绘制转换为纹理,可以按照以下步骤操作:
1. 将矩形绘制到一个空白的Mat对象上,该对象的大小应该与纹理的大小相同。
2. 将该Mat对象转换为OpenGL纹理对象,可以使用glTexImage2D函数或gluBuild2DMipmaps函数进行转换。
3. 在OpenGL中使用该纹理。
以下是一个简单的示例代码,演示了如何将OpenCV绘制的矩形转换为OpenGL纹理:
```cpp
// 创建一个空白的Mat对象
cv::Mat rectMat = cv::Mat::zeros(height, width, CV_8UC3);
// 绘制矩形
cv::rectangle(rectMat, cv::Point(50, 50), cv::Point(100, 100), cv::Scalar(255, 255, 255), -1);
// 将Mat对象转换为OpenGL纹理
GLuint textureID;
glGenTextures(1, &textureID);
glBindTexture(GL_TEXTURE_2D, textureID);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, rectMat.cols, rectMat.rows, 0, GL_RGB, GL_UNSIGNED_BYTE, rectMat.data);
// 在OpenGL中使用该纹理
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textureID);
glBegin(GL_QUADS);
glTexCoord2f(0.0, 0.0); glVertex3f(-1.0, -1.0, 0.0);
glTexCoord2f(1.0, 0.0); glVertex3f(1.0, -1.0, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(-1.0, 1.0, 0.0);
glEnd();
```
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)