opencv 提取选中区域内指定hsv颜色的水印
基于《QT 插件化图像算法研究平台》做的功能插件。提取选中区域内指定hsv颜色的水印。
《QT 插件化图像算法研究平台》有个HSV COLOR PICK功能,可以很直观、方便地分析出水印 的hsv颜色,比如, 蓝色:100,180,0,255,100,255。
然后利用 opencv 提取选中区域内指定hsv颜色的水印。
为下一步水印定位与去除提供mask。
《QT 插件化图像算法研究平台》有文件列表、图片展示、图片框选、窗口图像同步移动与放大等功能。
操作步骤:
1、在文件列表选中文件。
2、把图像移动、并放大至合适位置。
鼠标左键可拖动图片、鼠标滚轮可缩放图片。上下两窗口图片自动同步移动与缩放。
3、框选ROI
鼠标右键可画出“选择框”,按住鼠标右键,可移动与缩放“选择框”。
4、提取选中区域内指定hsv颜色的水印。
在功能列表里,选择“deWaterMark”,操作:"exec"
deWaterMark的参考代码如下:
void deWaterMark(Mat &input,Mat &output,Mat &src,string arg)
{Mat mask;colorHsvMask(input,mask,src,arg); //生成指定hsv颜色的maskgetSelection(mask,mask,src,arg); //获取选中区域matClipboard= mask;//存放至剪贴板output= mask;
}void colorHsvMask(Mat &input,Mat &output,Mat &,string arg)
{
//生成指定hsv颜色的mask,参数:hmin,hmax,smin,smax,vmin,vmax
// 蓝色:100,180,0,255,100,255
//用途:1、匹配 2、去水印vector<string> argVec;splitArg(arg,argVec);auto hmin=atoi(argVec[0].c_str());auto hmax=atoi(argVec[1].c_str());auto smin=atoi(argVec[2].c_str());auto smax=atoi(argVec[3].c_str());auto vmin=atoi(argVec[4].c_str());auto vmax=atoi(argVec[5].c_str());Mat hsv;cvtColor(input, hsv, COLOR_BGR2HSV);Mat mask;inRange(hsv, Scalar(hmin, smin, vmin), Scalar(hmax, smax, vmax), mask);output=mask;}void getSelection(Mat &input,Mat &output,Mat &,string )
{//获取选中区域QRect selectRect= processWinGetSelection();if(selectRect.width()==0){debugX(" no selection " );output=input;return;}auto topLeft=selectRect.topLeft();auto bottomRight=selectRect.bottomRight();int x=topLeft.x();int y=topLeft.y();int x1=bottomRight.x();int y1=bottomRight.y();if(x<0)x=0;if(y<0)y=0;if(x1>input.cols)x1=input.cols;if(y1>input.rows)y1=input.rows;auto roi=input(Rect(x,y,x1-x,y1-y));output=roi.clone();
}
5、从剪贴板查看 提取的水印
《QT 插件化图像算法研究平台》有剪贴板功能,可查看剪贴板中的图片。
后期预告:
1、利用提取的水印,在图像中定位水印位置。
2、如何获取 水印 的hsv颜色
《QT 插件化图像算法研究平台》有个HSV COLOR PICK功能,可以很直观、方便地分析出水印 的hsv颜色,比如, 蓝色:100,180,0,255,100,255
3、自动去除水印
4、自动保存去除水印的图片
相关文章:
![](https://img-blog.csdnimg.cn/ca8a1702f4284940964a3d6d7c45d19f.jpeg)
opencv 提取选中区域内指定hsv颜色的水印
基于《QT 插件化图像算法研究平台》做的功能插件。提取选中区域内指定hsv颜色的水印。 《QT 插件化图像算法研究平台》有个HSV COLOR PICK功能,可以很直观、方便地分析出水印 的hsv颜色,比如, 蓝色:100,180,0,255,100,255。 然后利用 opencv …...
![](https://img-blog.csdnimg.cn/fc2014dd928f4beab36e250930571533.png)
如何理解张量、张量索引、切片、张量维度变换
Tensor 张量 Tensor,中文翻译“张量”,是一种特殊的数据结构,与数组和矩阵非常相似。在 PyTorch 中,使用张量对模型的输入和输出以及模型的参数进行编码。 Tensor 是一个 Python Class。PyTorch 官方文档中定义“Tensor࿰…...
![](https://img-blog.csdnimg.cn/47f342431eaf46ad8dc11c3a72b568f5.png)
基于SpringBoot的汽车租赁系统
基于SpringBootVue的汽车租赁系统,前后端分离 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/Ecilpse、Navicat、Maven 角色:管理员、业务员、用户 管理员 用户管理…...
![](https://img-blog.csdnimg.cn/img_convert/2b6ab23dad72c5df7e0bd8a8cf19e572.png)
怎么做手机App测试?app测试详细流程和方法介绍
APP测试 1、手机APP测试怎么做? 手机APP测试,主要针对的是android和ios两大主流操作系统,主要考虑的就是功能性、兼容性、稳定性、易用性(也就是人机交互)、性能。 手机APP测试前的准备: 1.使用同类型的…...
![](https://www.ngui.cc/images/no-images.jpg)
【计算机网络】网络编程接口 Socket API 解读(1)
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux 发行版 centos 9 上的 man 工具,和其他平台(比如 os-x …...
![](https://img-blog.csdnimg.cn/img_convert/e3a7b645763c46cff3f12a000a11789d.png)
IGES在线查看与转换
IGES 格式最初由美国空军开发并于 1980 年发布。该格式是集成计算机辅助制造 (ICAM) 项目的产品,该项目旨在通过集成操作来降低制造成本。 IGES 文件旨在允许航空航天相关设计在不同平台上传输,同时将数据丢失降至最低。 在 IGES 格式出现之前,不同公司创建的 CAD 和计算机…...
![](https://www.ngui.cc/images/no-images.jpg)
【Vue3-Vite】Vite配置--路径别名配置
路径别名配置 使用 代替 src Vite配置 // vite.config.ts import {defineConfig} from vite import vue from vitejs/plugin-vueimport path from pathexport default defineConfig({plugins: [vue()],resolve: {alias: {"": path.resolve("./src") // …...
![](https://www.ngui.cc/images/no-images.jpg)
道可云元宇宙每日资讯|第二届世界元宇宙大会将在嘉定安亭举行
道可云元宇宙每日简报(2023年9月6日)讯,今日元宇宙新鲜事有: 第二届世界元宇宙大会将于9月20日在嘉定安亭举行 元起嘉定,虚实相生,产业赋能。由中国仿真学会、中国指挥与控制学会和北京理工大学共同主办&a…...
![](https://img-blog.csdnimg.cn/img_convert/29a696cb37deb70eea3a26ada8871a84.jpeg)
Python for 循环语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。 语法: for循环的语法格式如下: for iterating_var in sequence:statements(s) 流程图: 实例 #!/usr/bin/python # -*- coding: UTF-8 -*- for letter in …...
![](https://img-blog.csdnimg.cn/e6fc0c59faf34c5693ccc24de9a45555.gif)
iOS脱壳之frida-ios-dump
frida-ios-dump介绍 该工具基于frida提供的强大功能通过注入js实现内存dump然后通过python自动拷贝到电脑生成ipa文件,适合现iOS11版本之后的越狱手机使用。 下载 https://github.com/AloneMonkey/frida-ios-dump环境安装 电脑环境安装 win和Mac 环境一样都是…...
![](https://www.ngui.cc/images/no-images.jpg)
rust中的reborrow和NLL
reborrow 我们看下面这段代码 fn main() {let mut num 123;let ref1 &mut num; // 可变引用add(ref1); // 传递给 add 函数println!("{}", ref1); // 再次使用ref1 }fn add(num: &mut i32) {println!("{}", *num); }我们…...
![](https://www.ngui.cc/images/no-images.jpg)
Java设计模式:一、六大设计原则-04:迪米特法则
文章目录 一、定义:迪米特法则二、模拟场景:迪米特法则原则三、违背方案:迪米特法则原则3.1 工程结构3.2 学生、老师、校长类3.2.1 学生类3.2.2 老师类3.2.3 校长类 3.3 单元测试 四、改善代码:迪米特法则原则4.1 工程结构4.2 学生…...
![](https://www.ngui.cc/images/no-images.jpg)
使用docker部署pg数据库
使用 Docker 部署 PostgreSQL 数据库是一种常见的做法,它提供了方便、可移植和可重复的方式来运行数据库。下面是一个简单的示例,用于在 Docker 中部署 PostgreSQL 数据库: 首先,确保您已经安装了 Docker 并正确配置了 Docker 环境…...
![](https://img-blog.csdnimg.cn/ed3e0c02dd004ec88cc0db5fc60019a2.png)
Json“牵手”亚马逊商品详情数据方法,亚马逊商品详情API接口,亚马逊API申请指南
亚马逊平台是美国最大的一家网络电子商务公司,亚马逊公司是1995年成立,刚开始只做网上书籍售卖业务,后来扩展到了其他产品。现在已经是全世界商品品种最多的网上零售商和第二互联网公司,亚马逊是北美洲、欧洲等地区的主流购物平台…...
![](https://img-blog.csdnimg.cn/7fbd73b070fa47e4960fd05226678c63.png)
springboot封装查询快递物流
目录 一、ApiClient代码解读二、ApiService代码解读三、HomeController代码解读四、整体代码五、结果展示 一、ApiClient代码解读 这是一个简单的Spring Boot的RestTemplate客户端,用于执行HTTP请求。 首先,这个类被Component注解标记,这意味…...
![](https://img-blog.csdnimg.cn/e3edf99de3d64446aa2bdfb94119d859.png)
从C语言到C++_37(特殊类设计和C++类型转换)单例模式
目录 1. 特殊类设计 1.1 不能被拷贝的类 1.2 只能在堆上创建的类 1.3 只能在栈上创建的类 1.4 不能被继承的类 1.5 只能创建一个对象的类(单例模式)(重点) 1.5.1 饿汉模式 1.5.2 懒汉模式 2. 类型转换 2.1 static_cast 2.2 reinterpret_cast 2.3 const_cast 2.4 d…...
![](https://www.ngui.cc/images/no-images.jpg)
go 使用systray 实现托盘和程序退出
1.先 go get 安装 包 go get github.com/getlantern/systray2.使用的代码 func main() {fmt.Println("开始")systray.Run(onReady, onExit) }func onReady() {systray.SetIcon(icon.Data)systray.SetTitle("Awesome App")systray.SetTooltip("Prett…...
![](https://www.ngui.cc/images/no-images.jpg)
Electron之单例+多窗口
Electron之单例多窗口 Electron 24 React 18 单例可以通过app.requestSingleInstanceLock实现,多窗口可以简单通过路由来实现 单例 const gotTheLock app.requestSingleInstanceLock(); if (!gotTheLock) {app.quit(); } else {app.on(second-instance, (event, …...
![](https://www.ngui.cc/images/no-images.jpg)
A Survey of Knowledge-Enhanced Pre-trained Language Models
本文是LLM系列的文章,针对《A Survey of Knowledge-Enhanced Pre-trained Language Models》的翻译。 知识增强的预训练语言模型综述 摘要1 引言2 背景3 KE-PLMs用于NLU4 KE-PLMs用于NLG5 未来的方向5.1 整合来自同质和异质来源的知识5.2 探索多模态知识5.3 提供可…...
![](https://www.ngui.cc/images/no-images.jpg)
动态规划(选择)
链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 作为队伍的核心,forever97很受另外两个队友的尊敬。 Trote_w每天都要请forever97吃外卖,但很不幸的是宇宙中心forever97所在的学校周围只有3家forever97爱吃的外卖。 如果T…...
![](https://img-blog.csdnimg.cn/b99e588df04b498d9ab54032c4d5e931.png)
IIS WebDAV配置,https绑定及asp设置
IIS支持标准CGI,因此可以用程序语言针对STDIN和STDOUT开发。 IIS CGI配置和CGI程序FreeBasic, VB6, VC 简单样例_Mongnewer的博客-CSDN博客 IIS支持脚本解释CGI,因此可以用脚本语言针对STDIN和STDOUT开发。 IIS perl python cbrother php脚本语言配置…...
![](https://img-blog.csdnimg.cn/img_convert/e93f089897e877a1528c3f31119e3dcb.png)
【计算机视觉项目实战】中文场景识别
✨专栏介绍: 经过几个月的精心筹备,本作者推出全新系列《深入浅出OCR》专栏,对标最全OCR教程,具体章节如导图所示,将分别从OCR技术发展、方向、概念、算法、论文、数据集等各种角度展开详细介绍。 👨&…...
![](https://www.ngui.cc/images/no-images.jpg)
Java 中 Map 初始化的几种方法
# 传统方式 Map<String, String> map new HashMap<>(); map.put("k1", "v1"); map.put("k2", "v2");# java8新特性-双括号初始化 Map<String, String> map1 new HashMap<>() {{put("k1", "v…...
![](https://www.ngui.cc/images/no-images.jpg)
【学习方法论】学习的三种境界、三种习惯、三个要点,三个心态
学习的三种境界、三种习惯、三个要点,三个心态 三种学习境界 苦学 古人云:“头悬梁、锥刺股”,勤学苦练是第一境界。处于这种层次的同学,觉得学习枯燥无味,对他们来说学习是一种被迫行为,体会不到学习中的…...
![](https://img-blog.csdnimg.cn/a40cb2123dd44bff8c2fafa39ee8a3bf.png)
[管理与领导-67]:IT基层管理者 - 辅助技能 - 4- 职业发展规划 - 评估你与公司的八字是否相合
目录 前言: 一、概述 二、八字相合的步骤 2.1 企业文化是否相合 2.2.1 企业文化对职业选择的意义 2.2.2 个人与企业三观不合的结果 2.2.3 什么样的企业文化的公司不能加入 2.2 公司的发展前景 2.3 公司所处行业发展 2.4 创始人的三观 2.5 创始人与上司的…...
![](https://img-blog.csdnimg.cn/7a80245f0b5f4021a033b3789a9efdeb.png)
【PMO项目管理】深入了解项目管理 | Stakeholder 利益相关者 | 利益相关者之间的立场差异
💭 写在前面:本文将带您深入了解项目管理的核心概念和关键要素。我们将从项目管理的基本理解开始,逐步探讨其领域、复杂性和变化的重点,以及项目管理的具体过程。我们还将研究项目的性质以及成功项目所必备的条件。在此过程中&…...
![](https://img-blog.csdnimg.cn/img_convert/b8453ddd87ab13666e11c7748005d9e8.png)
设计模式-原则篇-01.开闭原则
简介 可以把设计模式理解为一套比较成熟并且成体系的建筑图纸,经过多次编码检验目前看来使用效果还不错的软件设计方案。适用的场景也比较广泛,在使用具体的设计模式之前先要学习软件设计的基础 “软件设计原则”,后面的23个设计模式都是…...
![](https://img-blog.csdnimg.cn/1421318507a249b1a03fdc070e5729bb.png#pic_center)
JAVA毕业设计096—基于Java+Springboot+Vue的在线教育系统(源码+数据库+18000字论文)
基于JavaSpringbootVue的在线教育系统(源码数据库18000字论文)096 一、系统介绍 本系统前后端分离 本系统分为管理员、用户两种角色(管理员角色权限可自行分配) 用户功能: 注册、登录、课程预告、在线课程观看、学习资料下载、学习文章预览、个人信息管理、消息…...
![](https://img-blog.csdnimg.cn/6ac02949f08e4440a6611c80061066ca.png)
windows环境搭建ELK
目录 资源下载(8.9.1) ES安装、注册、使用 Kibana安装、注册、使用 Logstash安装、注册、使用 Filebeat安装、使用(如果只有一个数据流,则不需要使用filebeat,直接上logstash即可) 资源下载࿰…...
![](https://img-blog.csdnimg.cn/81a3417cfff74872819aa04a6842e183.png)
langchain介绍之-Prompt
LangChain 是一个基于语言模型开发应用程序的框架。它使得应用程序具备以下特点:1.数据感知:将语言模型与其他数据源连接起来。2.代理性:允许语言模型与其环境进行交互 LangChain 的主要价值在于:组件:用于处理语言模型…...
![](/images/no-images.jpg)
可以先做网站再开公司吗/网络营销具有哪些优势和吸引力
浏览器内核是什么东东 Rending Engine, 顾名思义,称之为渲染网页内容的,将网页的代码转换为你看得见的页面,因为是排版,所以排版,所以肯定会有排版错误等问题。为什么会有排版错误呢,一部分是由于网站本身编…...
![](/images/no-images.jpg)
两学一做网站安徽省/百度学术论文查重免费
软件的本质:产品和产品交付载体。 软件与硬件的不同: 1)软件是设计开发,而非生产制造。 2)软件不会磨损,但会退化。退化的原因是变更,不断的变更可能会引入新的错误,使得失效律越来越…...
![](/images/no-images.jpg)
网站开发人员必备技能/附近电脑培训班零基础
简介 Typora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别。即时渲染使得你写Markdown就想是写Word文档一样流畅自如,不像其他编辑器的有编辑栏和显示栏。 Typora删除了预览窗口,以…...
![](/images/no-images.jpg)
临朐网站开发/营销网站案例
1. yum install mariadb-server 安装 2. 初始化mysql mysql_secure_installation 修改密码 3. 修改user表中host 访问权限 改为% update set host"%" where host"localhost"; 4. 刷新mysql配置 flush privileges; 5. 关闭防火墙 systemctl st…...
![](/images/no-images.jpg)
wordpress 多主题插件/武汉seo搜索优化
两个月以前,在我居住的地方出现了老鼠,每天晚上都会在我睡得香香甜甜的时候,让我很不情愿的爬起来和他游戏一会儿.在这么个大冬天,让我起来居然游戏的时候,连一点冷意都没有,可能是心中的火太旺…...
![](/images/no-images.jpg)
常州网站建设机构/常见的网络推广方法
获取或设置属性节点的值 操作标签属性 getAttribute(attrName) 作用 : 获取指定属性的值 attrName : 属性名setAttribute(attrName,value) 作用 :设置属性和对应的值 attrName : 属性名 value :属性值removeAttribute(attrName) 作用 &…...