【研华工业主板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]