mcpp index

opencv.opencv

import

OpenCV 5.0.0 vendored + C++23 module layer — import opencv.cv; (single repo, no compat.opencv dependency)

import opencv.cv;

模块名取自上游清单自己的 description。

mcpp add opencv.opencv@5.0.0

用法

来自本仓库自己的测试项目 —— CI 真的编译并运行过,不是为了网站写的。

// The opencv.dnn MODULE interface (not textual headers) must expose the dnn
// surface when opencv is pulled with features=["dnn"] — proves the feature
// compiled src/dnn.cppm and built the underlying dnn sources.
// Not named dnn.cpp (would collide with the dep's
// modules/dnn/src/dnn.cpp — #240 family). Import-only (import std + the opencv
// modules): no textual headers, matching the ffmpeg-module member convention.
#if defined(__linux__) || defined(__APPLE__) || defined(_WIN32)
import std;
import opencv.cv;
import opencv.dnn;

int main() {
    cv::Mat img(32, 32, cv::CV_8UC3, cv::Scalar(10, 20, 30));
    cv::Mat blob = cv::dnn::blobFromImage(img, 1.0 / 255.0, cv::Size(16, 16),
                                          cv::Scalar(), true, false);
    if (blob.dims != 4 || blob.size[0] != 1 || blob.size[1] != 3
        || blob.size[2] != 16 || blob.size[3] != 16) return 1;
    float v = blob.ptr<float>(0)[0];
    if (v < 0.117f || v > 0.118f) return 2;   // 30/255, channels swapped
    cv::dnn::Net net;
    if (!net.empty()) return 3;
    std::println("opencv.dnn module ok: blobFromImage 1x3x16x16 first={}", v);
// …

tests/examples/opencv-module-dnn/tests/opencv_dnn_iface.cpp · 项目 tests/examples/opencv-module-dnn

构建 · 上游清单

modules
opencv.cv
targets
opencv (lib)
manifest version
5.0.0
dependencies
compat
来源
https://raw.githubusercontent.com/Sunrisepeak/opencv-m/v5.0.0/mcpp.toml

版本

版本平台 镜像sha256
5.0.0 最新 LinuxWindowsmacOS CN GLOBAL fb6880777907…