梦醒时分1234 发表于 2025-11-29 20:09:43

【研华工业主板AIMB-523】+QT和OpenCV环境搭建

本次主板性能还是很强大的,AMD平台对于他家各个平台兼容也很好。升级CPU我们板子也能够支持住,主要是CPU供电设计能不能抗住。

我们常规开发目前测试都是正常的。我们通过安装QT进行相应的**开发,开发网络或者串口通信,UI显示等,结合OpenCV我们还可以做相关的图像处理开发。

!(https://www.eefocus.com/forum/data/attachment/forum/202511/29/200452nz5omqxe1r5nelkq.png)

我们暂时还考虑使用老的QT5开发。

!(https://www.eefocus.com/forum/data/attachment/forum/202511/29/200456p0lzaow0mmhbbdbp.png)

安装完成了,我们需要安装下VS版本,和QT版本对应上我们这个真好用的是MSVC2017版本,所以下载VS2017安装。

!(https://www.eefocus.com/forum/data/attachment/forum/202511/29/200500ezj9hcgsmm5qmtdp.png)

需要安装C++桌面开发,这样QT中才能用MSVC进行构建。

!(https://www.eefocus.com/forum/data/attachment/forum/202511/29/200504fgegfhfre4ge2d0f.png)

我们安装OpenCV是非自己编译的,他是官方基于MSVC某个版本进行编译的,所以要和QT的MSVC版本对应,我们安装的是OpenCV4.5.0版本。

!(https://www.eefocus.com/forum/data/attachment/forum/202511/29/200509zpwtptdztgufbaku.png)

安装完成看到有个VC15文件夹就是我们要的文件。

!(https://www.eefocus.com/forum/data/attachment/forum/202511/29/200514b0gl4sb1a18co834.png)

他这个所有的lib都打包了,所以是一个lib文件。

!(https://www.eefocus.com/forum/data/attachment/forum/202511/29/200518yx01tipxxdsattsr.png)

我们要运行起来还要给环境配下,主要是OpenCV的环境,不然会报错。

!(https://www.eefocus.com/forum/data/attachment/forum/202511/29/200523tsk2urk3do2dkkdn.png)

最后跑一个案例,我们就能测试出是不是配置成功了。

记住我们的OpenCV没有32位版本的编译。所以我们需要勾选64位构建。

```
void MainWindow::on_pushButton_clicked()
{
    QString fileName = QFileDialog::getOpenFileName(this,
      "Open Image", "", "Image Files (*.png *.jpg *.bmp)");

    if (!fileName.isEmpty()) {
      // 使用OpenCV加载图片

      cv::Mat image;

      // 方法1: 使用本地编码
      image = cv::imread(fileName.toLocal8Bit().constData());

      // 如果失败,尝试其他方法
      if (image.empty()) {
            // 方法2: 使用std字符串
            image = cv::imread(fileName.toStdString());
      }

      if (image.empty()) {
            ui->imageLabel->setText(tr("Failed to load image"));
            qDebug() << "Failed to load image from path:" << fileName;
            return;
      }
//      qDebug() << fileName.toStdString();
      if (image.empty()) {
            ui->imageLabel->setText("Failed to load image");
            return;
      }

      // 转换颜色空间
      cv::Mat rgb;
      cv::cvtColor(image, rgb, cv::COLOR_BGR2RGB);

      // 转换为QImage
      QImage qimg((const uchar*)rgb.data, rgb.cols, rgb.rows,
                   rgb.step, QImage::Format_RGB888);

      // 显示图片
      ui->imageLabel->setPixmap(QPixmap::fromImage(qimg).scaled(
      ui->imageLabel->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation));
    }
}
```

Pro文件配置。

```
OPENCV_DIR = D:/opencv4.5.0/opencv
INCLUDEPATH += $${OPENCV_DIR}/build/include

CONFIG(debug, debug|release) {
         LIBS += -L$${OPENCV_DIR}/build/x64/vc15/lib \
      -lopencv_world450d# debug版本通常加'd'后缀
} else {
      LIBS += -L$${OPENCV_DIR}/build/x64/vc15/lib
       -lopencv_world450
}
```


做的最简单的打开图片。要用CV处理后转成QT能显示的。

页: [1]
查看完整版本: 【研华工业主板AIMB-523】+QT和OpenCV环境搭建