OpenCV 图形API(11)对图像进行掩码操作的函数mask()

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

描述

对矩阵应用掩码。

该函数mask设置来自给定矩阵的值,如果掩码矩阵中对应的像素值设为true,否则将矩阵的值设为0。

支持的源矩阵数据类型为CV_8UC1、CV_16SC1、CV_16UC1。支持的掩码数据类型为CV_8UC1。

cv::gapi::mask 是 OpenCV GAPI(OpenCV的统一接口)中用于对图像进行掩码操作的函数。

注意

函数的文本ID是"org.opencv.core.math.mask"

函数原型

cpp 复制代码
GMat cv::gapi::mask 	
(
 	const GMat &  	src,
	const GMat &  	mask 
) 	

参数

  • 参数src 输入矩阵。

  • 参数mask 输入掩码矩阵。

代码示例

cpp 复制代码
#include <opencv2/opencv.hpp>
#include <opencv2/gapi.hpp>
#include <opencv2/gapi/imgproc.hpp> 
#include <opencv2/gapi/core.hpp>  // 包含G-API核心功能

int main() {
    // 读取图像和掩码
    cv::Mat src = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/input.jpg");
    cv::Mat mask = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/mask2.png", cv::IMREAD_GRAYSCALE);

    // 定义计算图
    cv::GMat in_src, in_mask;
    cv::GMat out = cv::gapi::mask(in_src, in_mask);  
    cv::GComputation comp(cv::GIn(in_src, in_mask), cv::GOut(out));

    // 执行计算
    cv::Mat output;
    comp.apply(cv::gin(src, mask), cv::gout(output));

    // 保存结果
    cv::imwrite("output.jpg", output);
    cv::imshow("Input", src);
    cv::imshow("Mask", mask);
    cv::imshow("Output", output);
    cv::waitKey(0);

    return 0;
}

运行结果

相关推荐
Godspeed Zhao5 分钟前
自动驾驶中的传感器技术34——Lidar(9)
人工智能·机器学习·自动驾驶
yueyuebaobaoxinx8 分钟前
《当 AI 学会 “思考”:大语言模型的逻辑能力进化与隐忧》
人工智能
PythonPioneer11 分钟前
颠覆性进化:OpenAI正式发布GPT-5,AI大模型进入“超级智能”时代
人工智能·gpt
唐天下文化18 分钟前
bit-Agent正式接入GPT-5,九科信息智能体能力再升级!
人工智能·gpt
山烛42 分钟前
矿物分类系统开发笔记(二):模型训练[删除空缺行]
人工智能·笔记·python·机器学习·分类·数据挖掘
音视频牛哥1 小时前
从H.264到AV1:音视频技术演进与模块化SDK架构全解析
人工智能·音视频·大牛直播sdk·rtsp h.265·h.264 h.265 av1·h.265和h.266·enhenced rtmp
AIbase20241 小时前
如何快速找到最适合的AI绘画工具?避免在200+工具中挑花眼?
人工智能
机器之心2 小时前
DeepSeek开源新基础模型,但不是V4,而是V3.1-Base
人工智能·openai
金融小师妹2 小时前
AI多因子模型解析:黄金涨势受阻与美联储9月降息政策预期重构
大数据·人工智能·算法
R-G-B2 小时前
【P38 6】OpenCV Python——图片的运算(算术运算、逻辑运算)加法add、subtract减法、乘法multiply、除法divide
人工智能·python·opencv·图片的运算·图片加法add·图片subtract减法·图片乘法multiply