当前位置: 首页 > news >正文

杭州滨江的网站建设公司做网站的简称

杭州滨江的网站建设公司,做网站的简称,如何自己做app,做的好的微商城网站背景#xff1a; 我原来的工程是使用opencv的#xff0c;所以程序中的图像都是表示为cv::Mat类型#xff0c;为了能够在imgui窗口中显示我的cv::Mat的图像#xff0c;我找到了下面这个函数#xff1a; void ImGui::Image(ImTextureID user_texture_id, const ImVec2 我原来的工程是使用opencv的所以程序中的图像都是表示为cv::Mat类型为了能够在imgui窗口中显示我的cv::Mat的图像我找到了下面这个函数 void ImGui::Image(ImTextureID user_texture_id, const ImVec2 size, const ImVec2 uv0, const ImVec2 uv1,const ImVec4 tint_col, const ImVec4 border_col) 上面这个函数负责在imgui中的窗口中显示图像。但是需要先将我的cv::Mat类型的图像转换为这个的ImTextureID类型。可以通过下面这个函数来实现上述功能。 cv::Mat image为待转换的cv::Mat图像GLuint imageTexture就是ImGui::Image()函数中需要的类型。 void Mat2Texture(cv::Mat image, GLuint imageTexture) {if (image.empty()) {std::cout image is empty! std::endl;return;}else {//generate texture using GL commandsglGenTextures(1, imageTexture);glBindTexture(GL_TEXTURE_2D, imageTexture);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);glTexImage2D(GL_TEXTURE_2D,0,GL_BGRA,image.cols,image.rows,0,GL_RGBA,GL_UNSIGNED_BYTE,image.data); }} 函数说明 //用来产生你要操作的纹理对象的索引 //n用来生成纹理的数量 //texture用于存储纹理索引 glGenTextures(GLsizei n, GLuint *textures); //glBindTexture实际上改变了OpenGL的这个状态他告诉OpenGL下面对纹理的操作都是对他绑定的纹理对象的 //比如下面这里就是在告诉opengl下面代码中对2D纹理的任何操作都是针对索引imageTexture的纹理的。 glBindTexture(GL_TEXTURE_2D, imageTexture); 注意事项1 函数glGenTextures(GLsizei n, GLuint *textures);只能放在循环外面使用否则当程序循环次数多了以后程序很吃内存电脑会变得越来越卡我刚开始没有注意这个问题将Mat2Texture函数放在了while循环里面眼看着我的内存占用率直线上升。这是因为Mat2Texture函数中的glGenTextures函数被反复调用。而我需要将视频流数据源源不断的更新到imgui的窗口中所以我需要循环调用Mat2Texture函数。那么我可以将函数换成下面的形式。 我只需要在窗口初始化的时候反正就是在while循环的外面先执行一遍 glGenTextures(1, imageTexture); 然后把下面的函数放在while循环中就可以了。 void Mat2Texture(cv::Mat image, GLuint imageTexture) {if (image.empty()) {std::cout image is empty! std::endl;return;}else {//generate texture using GL commandsglBindTexture(GL_TEXTURE_2D, imageTexture);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);glTexImage2D(GL_TEXTURE_2D,0,GL_BGRA,image.cols,image.rows,0,GL_RGBA,GL_UNSIGNED_BYTE,image.data); }} 注意事项2 在函数Mat2Texture中的glTextImage2D()函数中我使用的是GL_BGRA和GL_RGBA参数其实我在将调用Mat2Texture函数之前对image图像进行如下操作 cv::cvtColor(image, image, cv::COLOR_RGB2BGRA); 就是将RGB模式转换为BGRA模式。明显的区别是把之前的三通道图像转换成四通道图像如果不这样做有些图像无法正常的呈现在imgui的窗口中但是有些图像也是可以的。我也试过BGR2BGRA和RGB2RGBA的形式但是得到的图像颜色不对所以你在将cv::Mat转换为Texture时如果遇到这样的问题可以试一下我上面的方法。
http://www.yutouwan.com/news/79314/

相关文章:

  • 网站开发证书要求兰州网站建设优化
  • 无锡商城网站建设wordpress设置密码访问带提示
  • 如何防止网站被注入黑链wordpress页面相册
  • 阿里巴巴网站备案号seo网站查询工具
  • 网站创建一般创建哪种类型做微商哪个网站比较好
  • 济南专业做网站的公司wordpress 怎么安全
  • 室内设计平面图怎么画镇江整站优化
  • wordpress插件写在模板里德兴网站seo
  • 百度seo公司整站优化软件做网站设计软件
  • 网站免费建站性盈盈影院金华在线制作网站
  • 同时做几个网站的seo个人注册登录入口
  • 石家庄哪家网站做的好如何在对方网站上做外链
  • 设置网站建设网站开发和编程有什么区别
  • 注册网站服务器做韩国网站有哪些
  • 阿里巴巴的网站二维码怎么做有哪些做的推文排版的网站
  • 网站 建设阶段wordpress去除顶部工具栏
  • 淄博网站建设详细策划wordpress网站 800cdn
  • 建设银行官方网站登录电脑版响应式网站建设特色
  • 做旅游网站选什么空间ui设计流程培训怎么样
  • 山西天镇建站哪家好wordpress使用微信登陆
  • 在线电影网站建设论文wordpress 移动版主题
  • 在合肥哪里学网站建设企业培训系统app
  • 建筑公司网站有哪些摄影网站设计思想
  • 聊城网站建设哪家专业注册个公司要多少钱
  • 哪个网站做h5最好邢台市属于哪个省
  • dedecms源代码生成网站全过程三合一网站cms
  • a做片手机免费网站iis怎么配置网站
  • 汽车设计网站大全进出口代理公司
  • 张北网站建设网站开发的电视剧
  • 太原网站建设策划青岛建手机网站公司