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

qt之开发大恒usb3.0相机三

上一篇大恒相机的开发 是基于Qt Creator  msvc工具链编译的,大恒相机msvc使用的的lib库是c++版的。如果想要使用mingw工具链开发大恒相机,那么找连接对相应的lib库。mingw对应的库是c的。

配置如下:

图像获取核心代码如下

void __stdcall Widget::OnFrameCallbackFun(GX_FRAME_CALLBACK_PARAM* pFrame)
{Widget *pDlg = (Widget*)(pFrame->pUserParam);int nImageHeight = pDlg->m_nImageHeight;int nImageWidth  = pDlg->m_nImageWidth;if (pFrame->status == 0){memcpy(pDlg->m_pBufferRaw,pFrame->pImgBuf,pFrame->nImgSize);// 黑白相机需要翻转数据后显示for(int i =0;i <nImageHeight;i++){memcpy(pDlg->m_pImageBuffer+i*nImageWidth, pDlg->m_pBufferRaw+(nImageHeight-i-1)*nImageWidth,(size_t)nImageWidth);}//pDlg->DrawImg();// 图像保存处理QImage img(pDlg->m_pImageBuffer,pDlg->m_nImageWidth,pDlg->m_nImageHeight,QImage::Format_Indexed8);emit pDlg->imageReady(img);}
}
bool  Widget::PrepareForShowImg()
{//---------------------------------------------------------------------//----------------------初始化bitmap头---------------------------------m_pBmpInfo								= (BITMAPINFO *)m_chBmpBuf;m_pBmpInfo->bmiHeader.biSize			= sizeof(BITMAPINFOHEADER);m_pBmpInfo->bmiHeader.biWidth			= (LONG)m_nImageWidth;m_pBmpInfo->bmiHeader.biHeight			= (LONG)m_nImageHeight;m_pBmpInfo->bmiHeader.biPlanes			= 1;m_pBmpInfo->bmiHeader.biBitCount		= 8; // 黑白图像为8m_pBmpInfo->bmiHeader.biCompression		= BI_RGB;m_pBmpInfo->bmiHeader.biSizeImage		= 0;m_pBmpInfo->bmiHeader.biXPelsPerMeter	= 0;m_pBmpInfo->bmiHeader.biYPelsPerMeter	= 0;m_pBmpInfo->bmiHeader.biClrUsed			= 0;m_pBmpInfo->bmiHeader.biClrImportant	= 0;// 黑白图像需要初始化调色板for(int i=0;i<256;i++){m_pBmpInfo->bmiColors[i].rgbBlue	=i;m_pBmpInfo->bmiColors[i].rgbGreen	=i;m_pBmpInfo->bmiColors[i].rgbRed		=i;m_pBmpInfo->bmiColors[i].rgbReserved=0;}//--------------------------------------------------------------------------//------------------------图像数据Buffer分配---------------------------------//为原始图像数据分配空间m_pBufferRaw = new BYTE[(size_t)m_nPayLoadSize];if (m_pBufferRaw == NULL){return false;}//为经过翻转后的图像数据分配空间m_pImageBuffer = new BYTE[(size_t)(m_nImageWidth * m_nImageHeight)];if (m_pImageBuffer == NULL){delete []m_pBufferRaw;m_pBufferRaw = NULL;return false;}return true;
}

有需要源码的话联系咸鱼号 solar.

http://www.xdnf.cn/news/9520.html

相关文章:

  • 基于python,html,flask,echart,ids/ips,VMware,mysql,在线sdn防御ddos系统
  • SCDN如何同时保障网站加速与DDoS防御?
  • 精益数据分析(92/126):指标基准化——如何判断你的数据表现是否足够优秀
  • Vue Router 钩子函数与组件生命周期执行顺序详解
  • Ubuntu 系统grub日志级别设置
  • C#与 Prism 框架:构建模块化的 WPF 应用程序
  • 毫秒级数据采集的极致优化:如何用C#实现高性能、无冗余的实时文件写入?
  • 文档整合自动化
  • ASP.NET MVC添加新控制器示例
  • Android 缓存应用冻结器(Cached Apps Freezer)
  • 交换机环路故障分析以及解决方案
  • 模型自学推理:自信驱动进化
  • 使用JavaSDK简单上传文件到阿里云OSS服务中
  • GitHub开源|AI顶会论文中文翻译PDF合集(gpt-translated-pdf-zh)
  • 【AGI】Qwen3模型高效微调
  • Python生成ppt(python-pptx)N问N答(如何绘制一个没有背景的矩形框;如何绘制一个没有背景的矩形框)
  • 小提琴图绘制-Graph prism
  • 打破网络次元壁:NAT 穿透与内网打洞的 “Matrix 式” 通信革命
  • micromamba安装 配置 pythonocc安装
  • 智慧充电桩数字化管理平台:环境监测与动态数据可视化技术有哪些作用?
  • CentOS 7 如何安装libsndfile?
  • D2000平台上Centos使用mmap函数遇到的陷阱
  • 【机器学习基础】机器学习入门核心算法:隐马尔可夫模型 (HMM)
  • 【赵渝强老师】OceanBase的部署架构
  • 基于Qt的MCP LLM代理服务开发实战:从0到1扩展大语言模型
  • 本地(Linux)编译 MySQL 源码
  • Java高频面试之并发编程-23
  • FPGA实现CNN卷积层:高效窗口生成模块设计与验证
  • Transformer 通关秘籍11:Word2Vec 及工具的使用
  • 智能嗅探AJAX触发:机器学习在动态渲染中的创新应用