Opencv基于文字检测去图片水印

这篇具有很好参考价值的文章主要介绍了Opencv基于文字检测去图片水印。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

做了一个简单的去水印功能,基于文字检测去图片水印。效果如下:

opencv去水印,opencv,人工智能,计算机视觉

插件功能代码参考如下:

using namespace cv::dnn;
TextDetectionModel_DB *textDetector=0;
void getTextDetector()
{
     if(textDetector)return;
     String modelPath = "text_detection_DB_TD500_resnet18_2021sep.onnx";  //模型权重文件

    textDetector=new TextDetectionModel_DB(modelPath);

    float binThresh = 0.3;                                      //二值图的置信度阈值
    float polyThresh  = 0.5 ;                                   //文本多边形阈值
    double unclipRatio = 2.0;      //检测到的文本区域的未压缩比率,gai比率确定输出大小
    uint maxCandidates = 200;

    textDetector->setBinaryThreshold(binThresh)
        .setPolygonThreshold(polyThresh)
        .setUnclipRatio(unclipRatio)
        .setMaxCandidates(maxCandidates);

    double scale = 1.0 / 255.0;
    int height = 736;                                                   //输出图片长宽
    int width = 736;
    Size inputSize = Size(width, height);
    Scalar mean = Scalar(122.67891434, 116.66876762, 104.00698793);
    textDetector->setInputParams(scale, inputSize, mean);

}


void deWaterMarkTextDetection(Mat &input,Mat &output,Mat &src,string)
{
    getTextDetector();
    // 推理
    std::vector<std::vector<Point>> results;
    textDetector->detect(input, results);

    Mat mask = Mat::zeros(input.size(), CV_8U);
    fillPoly(mask, results,Scalar::all(255));


    //将掩模进行膨胀,使其能够覆盖图像更大区域
    Mat kernel = getStructuringElement(MORPH_RECT, Size(5, 5));
    dilate(mask, mask, kernel);

    //使用inpaint进行图像修复
    Mat result;
    inpaint(src, mask, output, 1, INPAINT_NS);
}

《QT 插件化图像算法研究平台》其它内容:

Opencv 图像金字塔----高斯和拉普拉斯

OpenCV仿Photoshop曲线调整图像亮度与色彩

QT 插件化图像算法软件架构

Opencv 图像暗通道调优去雾

opencv 提取选中区域内指定 hsv 颜色的水印

Opencv 手工选择图片区域去水印

Opencv 基于文字检测去图片水印

QT 插件化图像算法研究平台

Opencv 图像亮度调节的几种方式

Opencv使用QT的线程注意事项

欢迎广大朋友沟通交流,微信/QQ:23245175,加好友,请备注:插件软件。文章来源地址https://www.toymoban.com/news/detail-807891.html

到了这里,关于Opencv基于文字检测去图片水印的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【OpenCV】图像上绘制文字cv2.putText()函数用法,添加倾斜透明水印

    在OpenCV中,调用cv2.putText()函数可添加文字到指定位置,对于需要在图片中加入文字的场景提供了一种比较直接方便的方式。 注意:OpenCV 不支持显示中文字符,使用 cv2.putText() 时添加的文本字符串不能包含中文字符(包括中文标点符号) 其函数原型如下所示: 上述参数分别

    2024年02月04日
    浏览(39)
  • 【Opencv】PIL Opencv 向图片写入文字并旋转文字,Opencv图片旋转不截断,Opencv图片旋转不裁剪

    刚性变换: 只有物体的位置(平移变换)和朝向(旋转变换)发生改变,而形状不变,得到的变换称为刚性变换。刚性变换是最一般的变换。 使用透视变换,文字会扭曲失真。刚性变换就不会。 一些介绍: https://blog.csdn.net/liuweiyuxiang/article/details/86510191 创建一张空图写文字: 旋转

    2024年02月11日
    浏览(41)
  • Opencv项目实战:01 文字检测OCR(1)

    由图我们可知,对图片进行了数字和字母的识别。 (1)下载Tesseract 点击此网址:tesseract-ocr alternative download - Browse Files at SourceForge.net 我下载的是第四个版本,下载后是zip包的形式,压缩后可安装,选择路径可更改,否则会在默认的C:\\\\Program Files里面,没有什么大的影响。 (

    2024年02月06日
    浏览(29)
  • 16- 图片转文字识别实操 (OpenCV系列) (项目十六)

    项目要点 读取图片 :  image = cv2.imread (\\\'./images/page.jpg\\\') 调整图片尺寸 :  resized = cv2.resize (image, (width, height), interpolation = cv2.INTER_AREA) 灰度化处理 :  gray = cv2.cvtColor (image, cv2.COLOR_BGR2GRAY ) 高斯模糊 去噪点:  gray = cv2.GaussianBlur (gray, (5,5), 0) 边缘检测 :  edged = cv2.Canny (gray, 75, 200) c

    2024年01月19日
    浏览(35)
  • 封装图片处理工具类,实现图片的裁剪、压缩、图片水印、文字水印、多行文字水印等功能

    目录 一、前言 二、工具类的依赖和简单介绍 1、添加依赖 2、简单的使用 3、加载需要处理的图片 4、添加图片处理规则 4.1 Builder的方式 4.2 使用规则工厂的方式 5、输出处理后的图片 三、使用方式 1、图片裁剪 图片裁剪规则实体类 1.1 按长宽裁剪 1.1.1 示例代码 1.1.2 实现效果

    2024年02月13日
    浏览(32)
  • 铅华洗尽,粉黛不施,人工智能AI基于ProPainter技术去除图片以及视频水印(Python3.10)

    视频以及图片修复技术是一项具有挑战性的AI视觉任务,它涉及在视频或者图片序列中填补缺失或损坏的区域,同时保持空间和时间的连贯性。该技术在视频补全、对象移除、视频恢复等领域有广泛应用。近年来,两种突出的方案在视频修复中崭露头角:flow-based propagation和

    2024年02月08日
    浏览(45)
  • 人工智能-OpenCV+Python实现人脸识别(人脸检测)

    在OpenCV中使用Haar特征检测人脸,那么需要使用OpenCV提供的xml文件(级联表)在haarcascades目录下。这张级联表有一个训练好的AdaBoost训练集。首先要采用样本的Haar特征训练分类器,从而得到一个级联的AdaBoost分类器。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征

    2024年02月06日
    浏览(81)
  • [JavaScript]使用opencv.js实现基于傅里叶变换的频域水印(隐水印)

    PS:查了多方资料,都没有提到用 JavaScript 来实现频域水印的教程,故经过笔者的实践,遂写一篇教程来简单介绍。 通过了解频域水印的相关知识,我理解了频域水印就是先将图片进行傅里叶变换,得到频域图,然后将水印文字加到频域图中,在将频域图转换回去得到加了频

    2024年02月09日
    浏览(65)
  • 使用Python+OpenCV2进行图片中的文字分割(支持竖版)

    把图片中的文字,识别出来,并将每个字的图片抠出来; 原图片: 分割后文件夹: 可见此时文件都还是数字为文件名称,那么接下来要利用OCR自动给每个文字图片文件命名 我们使用UMIOCR , UMI-OCR的安装建议去GITHUB上查,windows上部署还是很方便的; 这里使用本机安装好的

    2024年02月20日
    浏览(26)
  • 毕设开源 在iOS上使用OpenCV实现图片中的文字框选

    在iOS上使用OpenCV实现图片中的文字框选 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 首先,需要去OpenCV官网下载iOS的framework,下载好后拖入新建的工程中即可,由于OpenCV库是使用C++编写,所以swift无法直接使用,需要使用OC做桥接,需要使用swift的同学可以看

    2024年03月25日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包