CameraImageHandler.cpp 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #include "CameraImageHandler.h"
  2. #include "CameraMaterialGroupWnd/Group.h"
  3. #include "CInterface.h"
  4. CameraImageHandler::CameraImageHandler(int iCameraId) {
  5. captureAndConvertImage(iCameraId);
  6. }
  7. void CameraImageHandler::captureAndConvertImage(int iCameraId) {
  8. CInterface interface;
  9. ImageInfo image;
  10. long result = interface.GrabImage(iCameraId, image);
  11. if (result == 0) {
  12. initGroup(iCameraId);
  13. }
  14. // if (result == 0) {
  15. // qDebug() << "Image width: " << image.width;
  16. // qDebug() << "Image height: " << image.height;
  17. // QImage img;
  18. // // 根据图像格式转换
  19. // switch (image.format) {
  20. // case GRAY8:
  21. // img = QImage(image.data, image.width, image.height, QImage::Format_Grayscale8);
  22. // break;
  23. // case RGB888:
  24. // img = QImage(image.data, image.width, image.height, QImage::Format_RGB888);
  25. // break;
  26. // case ARGB8888:
  27. // img = QImage(image.data, image.width, image.height, QImage::Format_ARGB32);
  28. // break;
  29. // case RGB32:
  30. // img = QImage(image.data, image.width, image.height, QImage::Format_RGB32);
  31. // break;
  32. // case YUV422:
  33. // break;
  34. // default:
  35. // qDebug() << "Unsupported image format";
  36. // }
  37. // } else {
  38. // qDebug() << "Failed to grab image, error code: " << result;
  39. // }
  40. }
  41. Group* CameraImageHandler::getGroup() const {
  42. return group;
  43. }
  44. void CameraImageHandler::initGroup(int CameraId) {
  45. QStringList dispmodel1;
  46. dispmodel1 << "P die align" << "D device align";
  47. QStringList dispmodel2;
  48. dispmodel2 << "D device align" << "P die align";
  49. QStringList dispmodel3;
  50. dispmodel3 << "B device align" << "P die align";
  51. QStringList dispmodel4;
  52. dispmodel4 << "U die align" << "D device align";
  53. if (CameraId == 1) {
  54. group = new Group(CameraId, ":/images/test_image/image_1.png", MaterialWindowType, dispmodel1, this);
  55. } else if (CameraId == 2) {
  56. MaterialWindowType = 2;
  57. group = new Group(CameraId, ":/images/test_image/image_3.png", MaterialWindowType, dispmodel2, this);
  58. } else if (CameraId == 3) {
  59. MaterialWindowType = 3;
  60. group = new Group(CameraId, ":/images/test_image/image_5.png", MaterialWindowType, dispmodel3, this);
  61. } else if (CameraId == 4) {
  62. group = new Group(CameraId, ":/images/test_image/image_7.png", MaterialWindowType, dispmodel4, this);
  63. } else if (CameraId == 5) {
  64. group = new Group(CameraId, ":/images/test_image/image_1.png", MaterialWindowType, dispmodel1, this);
  65. } else if (CameraId == 6) {
  66. MaterialWindowType = 2;
  67. group = new Group(CameraId, ":/images/test_image/image_3.png", MaterialWindowType, dispmodel2, this);
  68. } else if (CameraId == 7) {
  69. MaterialWindowType = 3;
  70. group = new Group(CameraId, ":/images/test_image/image_5.png", MaterialWindowType, dispmodel3, this);
  71. } else if (CameraId == 8) {
  72. group = new Group(CameraId, ":/images/test_image/image_7.png", MaterialWindowType, dispmodel4, this);
  73. } else {
  74. group = nullptr; // 如果 CameraId 不匹配,则 group 为 nullptr
  75. }
  76. }