OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
无匹配项
在 Ubuntu 中使用 Wayland highgui 后端

上一教程: 使用 Creative Senz3D 及其他 Intel RealSense SDK 兼容深度传感器

原始作者Kumataro
兼容性OpenCV >= 4.10
Ubuntu 24.04

目标

本教程旨在 Ubuntu 24.04 中使用 Wayland highgui 后端。

Wayland highgui 后端是实验性实现。

设置

  • 设置 Ubuntu 24.04。
  • sudo apt install build-essential git cmake 以构建 OpenCV。
  • sudo apt install libwayland-dev wayland-protocols libxkbcommon-dev 以启用 Wayland highgui 后端。
  • (可选)sudo apt install ninja-build(或移除 cmake 命令的 -GNinja 选项)。
  • (可选)sudo apt install libwayland-egl1 以启用 Wayland EGL 库。

从 GitHub 获取 OpenCV

mkdir work
cd work
git clone --depth=1 https://github.com/opencv/opencv.git
注意
--depth=1 选项用于限制下载提交。如果您想查看更多提交历史记录,请移除此选项。

使用 Wayland highgui 后端构建/安装 OpenCV

使用 -DWITH_WAYLAND=ON 选项运行 cmake 以配置 OpenCV。

cmake -S opencv -B build4-main -DWITH_WAYLAND=ON -GNinja

如果成功,将显示 Wayland 客户端/光标/协议和 Xkbcommon 版本。Wayland EGL 是可选的。

--
-- GUI:Wayland
-- Wayland: (实验) 是
-- Wayland 客户端:是 (版本 1.22.0)
-- Wayland 光标:是 (版本 1.22.0)
-- Wayland 协议:是 (版本 1.34)
-- Xkbcommon:是 (版本 1.6.0)
-- Wayland EGL(可选):是 (版本 18.1.0)
-- GTK+:否
-- VTK 支持:否

运行 cmake --build 以构建,并运行 sudo cmake --install 以安装到系统中。

cmake --build build4-main
sudo cmake --install build4-main
sudo ldconfig

尝试 Wayland highgui 后端的简单应用程序

尝试此代码,以便在 Wayland highgui 后端中看到 currentUIFrramework() 的名称和 OpenCV 徽标窗口。

// g++ main.cpp -o a.out -I /usr/local/include/opencv4 -lopencv_core -lopencv_highgui -lopencv_imgcodecs
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgcodecs.hpp>
#include <iostream>
#include <string>
int main(void)
{
std::cout << "cv::currentUIFramework() 返回 " << cv::currentUIFramework() << std::endl;
cv::Mat src;
src = cv::imread("opencv-logo.png");
cv::namedWindow("src");
int key = 0;
do
{
cv::imshow("src", src );
key = cv::waitKey(50);
} while( key != 'q' );
return 0;
}

限制/已知问题