有没有简单的方法来突出面膜?

2023-11-23

如果我有像这样的面具

我有一个图像(大小与面具相同)就像

Mathematica graphics

我想突出显示图像中的蒙版。如果我用其他语言,我只是

正如你所看到的,结果图像有一个透明红展示面具。我希望在 OpenCV 中实现这一点。所以我写这段代码

#include <opencv.hpp>

using namespace cv;
using namespace std;

int main() {
    Mat srcImg = imread("image.jpg");
    Mat mask = imread("mask.jpg", IMREAD_GRAYSCALE)>200;

    for(int i=0;i<srcImg.rows;i++)
        for(int j=0;j<srcImg.cols;j++)
            if(mask.at<uchar>(i, j)==255)
                circle(srcImg, Point(j,i), 3, Scalar(0, 0, 128,128));
    imshow("image",srcImg);

    waitKey();
    return 0;
}

但正如你所看到的,我在中使用了 alpha 值Scalar,但它不是一个透明红.

也许这是由于srcImg只有3个频道。我对此有两个问题

  1. 如何用透明的红色突出显示蒙版(即使图像只有 3 个通道)?
  2. 我必须画画circle一个像素一个像素地做这件事?

#include<opencv2/core.hpp>
#include<opencv2/imgproc.hpp>
#include<opencv2/highgui.hpp>

using namespace cv;

int main(int argc, char** argv)
{
    Mat srcImg = imread("image.png");
    Mat mask = imread("mask.png", IMREAD_GRAYSCALE) > 200;

    Mat red;
    cvtColor(mask, red, COLOR_GRAY2BGR);
    red = (red - Scalar(0, 0, 255)) / 2;
    srcImg = srcImg - red;

    imshow("image", srcImg);

    waitKey();
    return 0;
}

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有简单的方法来突出面膜? 的相关文章

  • 如何从 C# 中的 dataTable.Select( ) 查询中删除单引号?

    所以我有一个经销商名称列表 我正在我的数据表中搜索它们 问题是 一些傻瓜必须被命名为 Young s 这会导致错误 drs dtDealers Select DealerName dealerName 所以我尝试替换字符串 尽管它对我不起作
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • ComboBox DataBinding 导致 ArgumentException

    我的几个类对象 class Person public string Name get set public string Sex get set public int Age get set public override string
  • 如何使用 Castle Windsor 将对象注入到 WCF IErrorHandler 实现中?

    我正在使用 WCF 开发一组服务 该应用程序正在使用 Castle Windsor 进行依赖注入 我添加了一个IErrorHandler通过属性添加到服务的实现 到目前为止一切正常 这IErrorHandler对象 一个名为FaultHan
  • C# 数据表更新多行

    我如何使用数据表进行多次更新 我找到了这个更新 1 行 http support microsoft com kb 307587 my code public void ExportCSV string SQLSyntax string L
  • 从客户端访问 DomainService 中的自定义对象

    我正在使用域服务从 Silverlight 客户端的数据库中获取数据 在DomainService1 cs中 我添加了以下内容 EnableClientAccess public class Product public int produ
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 告诉 Nancy 将枚举序列化为字符串

    Nancy 默认情况下在生成 JSON 响应时将枚举序列化为整数 我需要将枚举序列化为字符串 有一种方法可以通过创建来自定义 Nancy 的 JSON 序列化JavaScript 原始转换器 https github com NancyFx
  • 在 Matlab 中保存 Kinect 深度图像?

    通过使用 Kinect 我可以获得深度图像 其中每个深度图像像素存储相机和物体之间的距离 以毫米为单位 现在我想保存它们以便以后使用 最好的推荐是什么 我正在考虑将深度图像保存为图像 jpg png等 然而 该值通常是从50毫米到10000
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • 打印大型 WPF 用户控件

    我有一个巨大的数据 我想使用 WPF 打印 我发现WPF提供了一个PrintDialog PrintVisual用于打印派生的任何 WPF 控件的方法Visual class PrintVisual只会打印一页 因此我需要缩放控件以适合页面
  • OpenGL:仅获取模板缓冲区而没有深度缓冲区?

    我想获取一个模板缓冲区 但如果可能的话 不要承受附加深度缓冲区的开销 因为我不会使用它 我发现的大多数资源表明 虽然模板缓冲区是可选的 例如 排除它以利于获得更高的深度缓冲区精度 但我还没有看到任何请求并成功获取仅 8 位模板缓冲区的代码
  • 在 Windows Phone silverlight 8.1 上接收 WNS 推送通知

    我有 Windows Phone 8 1 silverlight 应用程序 我想使用新框架 WNS 接收通知 我在 package appxmanifest 中有
  • 堆栈是向上增长还是向下增长?

    我在 C 中有这段代码 int q 10 int s 5 int a 3 printf Address of a d n int a printf Address of a 1 d n int a 1 printf Address of a
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个
  • GCC 的“-Wl,option”和“-Xlinker option”语法之间有区别吗?

    我一直在查看一些配置文件 并且看到它们都被使用 尽管在不同的体系结构上 如果您在 Linux 机器上使用 GCC 将选项传递给链接器的两种语法之间有区别吗 据我所知 阅读 GCC 手册时 他们的解释几乎相同 From man gcc Xli
  • 如何使用 C++11 using 语法键入定义函数指针?

    我想写这个 typedef void FunctionPtr using using 我该怎么做呢 它具有类似的语法 只不过您从指针中删除了标识符 using FunctionPtr void 这是一个Example http ideone
  • 不区分大小写的字符串比较 C++ [重复]

    这个问题在这里已经有答案了 我知道有一些方法可以进行忽略大小写的比较 其中涉及遍历字符串或一个good one https stackoverflow com questions 11635 case insensitive string

随机推荐

  • 使用“class”关键字声明变量与在函数签名中声明不使用“class”关键字的变量

    这两种方法有什么区别 有时 当我遇到编译时错误时 抱怨编译器无法识别 函数签名中存在一些类类型 那么如果我在各个变量前面添加关键字 class 总是可以解决此类编译时错误 例如 如果编译器无法识别类型Client in void recv
  • 如何从突变中获取新对象的ID?

    我有一个createObject突变返回新对象的 ID 返回后 我想重定向到有关新对象的详细信息页面 如何使用反应 中继从包含组件中的突变获取响应字段 E g my createObject页面包含如下代码的突变 var onFailure
  • Fortran 派生类型实例的用户定义构造函数

    这是我与Fortran相关的第二个问题 我使用C 所以请原谅我的思维方式 我想在适当的时候使用 OOP 也就是说 在 Fortran 中使用派生类型 在 C 中 您可以使用用户定义的构造函数 例如https msdn microsoft c
  • 使用内置函数名称作为属性或方法标识符是不好的做法吗?

    我知道永远不要使用内置函数名称作为变量标识符 但是有什么理由不使用它们作为属性或方法标识符呢 例如 这样写是否安全my object id 5 或者定义一个实例方法dict在我自己的班级 它不会让解释器感到困惑 但可能会让阅读代码的人感到困
  • SIM工具包应用-Javacard开发套件

    我正在尝试开发 STK 应用程序 但我不知道在哪里可以获得开发套件 现在对于 Javacard 我从 Oracle 网站获得了一个 但它没有 sim toolkit 包 我不想从金雅拓等公司购买它 是否有任何 免费 实施 我已经找到了欧洲电
  • Ruby 单元测试:这是有效的(格式良好的)XML 文档吗?

    我正在创建一个 XML 文档 我想进行单元测试 至少确保其格式良好 到目前为止 我只能通过使用 REXML 库中的 hasElements 来近似这一点 有没有更好的办法 最好使用内置库 我的意思是标准 Ruby 1 8 x 发行版附带的库
  • eax 在 pt_regs 结构中的哪里?仅存在斧头

    我正在尝试使用pt regs用于获取和设置寄存器的结构 例如eax 但是编译错误告诉我pt regs没有该成员eax 但是 我能够得到ax登记 谁能告诉我发生了什么事吗 我正在使用 32 位 Ubuntu linux3 0 0核心 再次感谢
  • 检查数组中是否存在对象

    我有一个包含多个人物对象的数组 该对象如下所示 id 1 name Max Muster email email protected language German 现在 我在另一个数组中找到了对象 它们看起来并不完全相同 id 1 nam
  • 如果 Alamofire 图像中存在磁盘缓存图像,则使用磁盘缓存图像

    我正在使用阿拉莫火图像库来缓存下载的图像 Code import UIKit import AlamofireImage class ViewController UIViewController IBOutlet weak var fir
  • 如何让 Spoon 为 Espresso 测试截图?

    我一直在努力追随有关让 Spoon 1 1 14 为失败的 Espresso 测试截取屏幕截图的说明 配置此功能的最佳方法是什么自定义 Espresso FailureHandler 这是我目前正在做的事情 public class Mai
  • 阅读 WP8 上的 SSL 证书详细信息

    出于安全原因 我想阅读证书详细信息 例如到期日期或 CN 通常网络类中有一些可用的属性 允许检查证书 WP8 实现中缺少此功能 我还尝试创建一个 SslStream 但也无法获取任何证书详细信息 例如远程证书在 net 4 5 上 var
  • jQuery Mobile 更改下拉所选选项并刷新它

    我正在编写 jQuery 移动应用程序 我正在通过以下语句更改下拉选择的选项 DataBaseNames val db 我确信传递了正确的数据库值 因为我通过警报检查了它 当我深入下拉菜单时 它还显示所选的正确文本 但下拉菜单本身未显示所选
  • 将文件流式传输到 Pylons 中的 HTTP 响应

    我有一个 Pylons 控制器操作 需要将文件返回给客户端 该文件位于网络根目录之外 因此我不能直接链接到它 当然 最简单的方法是 with open filepath rb as f response write f read 这可行 但
  • 使用 pandas.DataFrame.interpolate 将行添加到 DataFrame

    我有一个具有以下格式的 Pandas 数据框 Frequency Value 1 10 2 8 2 20 2 5 3 30 2 2 4 40 2 3 我想用pandas DataFrame interpolate为了在频率 35 处添加一条
  • 为什么我的 vim 不知道我的别名?

    我使用了 alias ruby ruby1 9 1 所以我可以用这个执行我的 ruby 红宝石 123 rb or 红宝石1 9 1 123 rb 但在我的 vim 中 我使用 ruby 并得到 bin bash ruby 找不到命令 我必
  • 如何避免 Vscode 中将头文件放在与 src 不同的目录中时出现错误

    好吧 我在 VSCode 中遇到了错误问题 基本上我决定重新组织并将我的头文件移动到一个单独的文件夹 include 中 我的目录简单如下 build include SDL2 SDL2 Image someHeaderFile1 h so
  • 导致 java.lang.IllegalStateException: Post Too Large in tomcat / mod_jk 的原因

    为了增加允许的最大帖子大小 需要调整哪些配置以及它位于哪里 Apache Tomcat 默认情况下对其接受的 HTTP POST 请求的最大大小设置限制 在 Tomcat 5 中 此限制设置为 2 MB 当您尝试上传大于 2 MB 的文件时
  • PHP 非阻塞函数

    我有一个项目 其中用户通过表单上传图像 服务器则执行一些缩略图 缩略图制作过程非常慢 因此我认为使用非阻塞函数调整图像大小可能是一个很好的解决方案 我的意思是 服务器处理表单 有更多字段 向用户提供 ok 反馈 然后调用缩略图功能 我怎样才
  • 为什么切换服务器后 Laravel 会话在 Safari 和 IE 中会失败?

    带有 Webmin Apache Centos 6 Laravel 应用程序和旧数据库架构的新 VPS 服务器 在旧的共享主机上一切正常 但在 VPS 上由于某种原因 Laravel 的会话存储 Laravel 3 0 不再在 Safari
  • 有没有简单的方法来突出面膜?

    如果我有像这样的面具 我有一个图像 大小与面具相同 就像 我想突出显示图像中的蒙版 如果我用其他语言 我只是 正如你所看到的 结果图像有一个透明红展示面具 我希望在 OpenCV 中实现这一点 所以我写这段代码 include