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

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.lryc.cn/news/2395630.html

相关文章:

  • Transformer架构详解:从Attention到ChatGPT
  • 数据中台(大数据平台)之数据安全管理
  • github双重验证密码忘记或者获取不了了怎么办
  • 告别复杂操作!电脑极简风格计时使用
  • stm32cube ide如何将工具链替换成arm-none-eabi-gcc
  • [STM32问题解决(2)]STM32通过串口与PC通信,打开串口助手后无法在打开状态下下载程序和复位STM32
  • RabbitMQ 与其他 MQ 的对比分析:Kafka/RocketMQ 选型指南(二)
  • OpenHarmony定制系统组合按键(一)
  • ORDER BY子句在一个 SQL 查询中只能出现一次
  • Spring Boot 3 整合 MQ 构建聊天消息存储系统
  • DeepSeek实战:打造智能数据分析与可视化系统
  • 非线性声学计算与强化学习融合框架:突破复杂环境人机交互的新技术
  • C++ - STL #什么是STL #STL的版本 #闭源开源 #STL的六大组件
  • Flutter - 原生交互 - 相机Camera - 01
  • 湖北理元理律师事务所:个人债务管理的温度与精度
  • Compose原理 - 整体架构与主流程
  • 从0开始学vue:实现一个简单页面
  • 在机器视觉测量和机器视觉定位中,棋盘格标定如何影响精度
  • CppCon 2014 学习: C++ Test-driven Development
  • RAGflow详解及实战指南
  • JWT 不对外,Session ID 对外:构建安全可控的微服务认证架构
  • [Godot] 如何导出安卓 APK 并在手机上调试
  • React 路由管理与动态路由配置实战
  • ZYNQ sdk lwip配置UDP组播收发数据
  • 11.21 LangGraph多轮对话系统实战:三步构建高效信息整理引擎,效率提升300%!
  • 高光谱成像相机:基于高光谱成像技术的玉米种子纯度检测研究
  • Linux《文件系统》
  • NLP学习路线图(十六):N-gram模型
  • 【Python办公】将Excel表格转json(字典)数据-可自定义key和value
  • Java内存区域与内存溢出异常分析与解决