OpenCV 4.11.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 Client/Cursor/Protocols和Xkbcommon版本。Wayland EGL是可选的。

--
-- GUI: Wayland
-- Wayland: (实验性) 是
-- Wayland Client: 是 (版本 1.22.0)
-- Wayland Cursor: 是 (版本 1.22.0)
-- Wayland Protocols: 是 (版本 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后端

尝试这段代码,您可以看到currentUIFrramework()的名称和带有Wayland highgui后端的OpenCV logo窗口。

// 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() returns " << 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;
}

限制/已知问题