Opencv [去除水印]

embedded/2025/2/27 7:08:03/

一、原图

在这里插入图片描述

二、代码

#include <iostream>
#include<opencv2/opencv.hpp> using namespace std;
using namespace cv;/*** @brief 程序的入口函数* * 此函数是程序执行的起点,打印一条问候语到标准输出,并返回一个退出状态码。* * @return int 返回 0 表示程序正常结束。*/
int main() 
{ Mat src = imread("D:\\Project\\OpenCV\\DADMP.png");if (src.empty()){cout << "No Image!" << endl;system("pause");return -1;}Mat gray;cvtColor(src, gray, COLOR_BGR2GRAY);//图像二值化,筛选出白色区域部分Mat thresh;threshold(gray, thresh, 127, 255, THRESH_BINARY);//提取图片下方的水印,制作掩模图像Mat mask = Mat::zeros(src.size(), CV_8U);int height = src.rows;int width = src.cols;int start = 0.9*height;//遍历图像像素,提取出水印部分像素,制作掩模图像for (int i = start; i < height; i++){uchar*data = thresh.ptr<uchar>(i);for (int j = 0; j < width; j++){if (data[j] == 255){mask.at<uchar>(i, j) = 255;			}			}}//将掩模进行膨胀,使其能够覆盖图像更大区域Mat kernel = getStructuringElement(MORPH_RECT, Size(5, 5));dilate(mask, mask, kernel);//使用inpaint进行图像修复Mat result;inpaint(src, mask, result, 1, INPAINT_NS);//imshow("mask", mask);imshow("test", result);imwrite("D:\\Project\\OpenCV\\DADMP1.png", result);waitKey(0);return 0;
}

三、效果

在这里插入图片描述
去除了豆包AI


http://www.ppmy.cn/embedded/167478.html

相关文章

Qt layout

文章目录 Qt layout**关键机制****验证示例****常见误区****最佳实践****总结**关键点总结&#xff1a;示例代码说明&#xff1a;结论&#xff1a; Qt layout 在 Qt 中&#xff0c;当调用 widget->setLayout(layout) 时&#xff0c;layout 的父对象会被自动设置为该 widget…

AI人工智能机器学习之监督学习和集成学习

1、概要 本篇学习AI人工智能机器监督学习框架下的集成学习&#xff0c;以鸢尾花iris数据集、随机森林模型和梯度提升为示例&#xff0c;从代码层面测试和讲述监督学习和集成学习能。 2、监督学习和集成学习 - 简介 监督学习和集成学习是机器学习领域中的两个重要概念。 监督…

ES6新增语法

一、定义变量 1.1 新增变量关键字 let 变量 const 常量 1.2 let/const 与var 的区别&#xff1f; 1.2.1 预解析 var会进行与解析 let/const没有与解析&#xff0c;必须先声明后使用 1.2.2重复变量名 var定义的变量可以崇明 let/const 不允许定义重名变量 1.2.3 块级作…

在线抽奖系统——项目介绍

目录 项目介绍 页面预览 需求分析 管理员登录注册 人员模块 奖品模块 活动模块 抽奖模块 系统设计 系统架构 项目环境 数据库设计 安全设计 完整代码&#xff1a;项目完整代码/在线抽奖系统/lottery-system Echo/project - 码云 - 开源中国 项目介绍 利用 MySQ…

深度学习笔记数学方面——矩阵计算,自动求导

坚持每天打卡学习深度学习&#xff0c;今天学了数学部分。 1.列向量的导数是横向量 2 分子布局符号 分母布局符号对于分子布局和分母布局的结果来说&#xff0c;两者相差一个转置。 3.一些求导公式&#xff0c;加粗为向量 4.自动求导&#xff0c;计算一个函数在指定值上的导…

使用 Python 实现声纹和声音识别并集成到会议记录程序中

要使用 Python 实现声纹和声音识别并集成到会议记录程序中&#xff0c;可以按照以下步骤进行&#xff1a; 1. 安装必要的库 需要安装一些 Python 库&#xff0c;如 SpeechRecognition 用于语音识别&#xff0c;pyAudio 用于音频输入&#xff0c;resemblyzer 用于声纹识别。可…

【论文笔记】ClipSAM: CLIP and SAM collaboration for zero-shot anomaly segmentation

原文链接 摘要 近年来&#xff0c;CLIP 和 SAM 等基础模型在零样本异常分割 (ZSAS) 任务中展现出良好的性能。然而&#xff0c;无论是基于 CLIP 还是基于 SAM 的 ZSAS 方法&#xff0c;仍然存在不可忽视的关键缺陷&#xff1a;1) CLIP 主要关注不同输入之间的全局特征对齐&am…

AI手机的技术细节

前序&#xff1a;先说各个功能涉及到的技术&#xff0c;再说宏观系统架构。AI手机有这样几个做法&#xff0c;给手机侧边增加一个按键&#xff1b;把手机的语音助手做的很好&#xff0c;能够快速稳定的进行唤醒&#xff1b;通过特殊形式的触摸手机的曲面屏位置等来进行唤醒AI …