C++OpenCV去除发票中红色的印章部分实战

article/2025/6/23 22:03:31

1.背景

最近一个客户要求去除发票中的红色印章部分: 就是票据上往往会有一些红色印章把一些重要信息区域给覆盖了,比如一些开发票人员盖印章时比较随意,容易吧一些关键区域给遮蔽了,这让接下来的票据识别很困难,因此,我们必须先对票据图像进行一定的预处理来移除印章干扰,再进行字符识别,这样子识别准确率才有保证。我们从简单例子说起,比如我们有以下一张票据,上面盖有红色印章,虽然该印章没有遮挡关键信息,但是我们还是打算将其移除,那该怎么办?首先想到的肯定移除红色像素点的方法,这种方法需要查到红色的颜色范围,然后遍历全图像素点,在范围内的像素点就将它设置为白色。这种方法用起来其实不太好,毕竟这个“红色范围”的设定还是蛮困难的一件事。那现在我说一下我的方法,用几行代码移除红色印章。

2.实战流程

原图如下所示:

如果只是传统的进行直接灰度化和二值化,结果如下所示:

我们发现,并没有去除红色的印章部分。接下来我们这样做便可以非常轻松的去除:

其实实现的方法非常简单,关键就是分离颜色通道 + 阈值分割。步骤如下:

  1. 对彩色图分离通道࿰

http://chatgpt.dhexx.cn/article/HnQ3XyiL.shtml

相关文章

opencv去除印章痕迹

今天看到一个很有意思的程序,就是去除票据上的红色印章,觉得很有意思,就把它抄过来记录一下,同时自己也开了一下脑洞。 原来的程序来自:https://www.cnblogs.com/skyfsm/p/7638301.html 可以看到图像效果很不错&#…

Python OpenCV基于颜色通道分离法去除图片中的红色印章

最近一段时间的工作都是研究如何去除图片中的红色印章,在网上查找了大量的大佬写过的方法,发现大多数是采取颜色通道分离法来做,并且效果还不错。站在前人的肩膀上,我又做了些许调整,谈不上是改进,但是能应…

OCR图片预处理之去除印章(一)

导读 在做OCR票据类识别的时候经常会遇到一些票据上会有印章,而对于的文字检测和文字识别模型而言,印章的存在一定会影响模型识别的准确率,所以通常我们都是先将图片去除印章之后,再将图片送入到文字检测和文字识别模型中。 本篇…

CSS垂直居中的几种方法

目录 1.设置行高line-height 2.内边距法(padding) 3.模拟表格法 4.绝对定位 5.使用flex布局 1.设置行高line-height 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可 div {hei…

CSS中垂直居中的七种方法

前言: 我们在编辑一个版面,通常都会用到水平居中和垂直居中来设计,而水平居中很好处理,不外乎就是设定margin:0 auto;或是text-align:center;,就可以轻松解决掉水平居中的问题,但一…

CSS文本垂直居中的几种方法

观看更佳-点击前往 一、单行文本的居中 1.文字水平居中 <div classbox style"text-align: center;">hello world</div>2.文本垂直水平居中 <div class"box2" style"width:150px;height:100px;line-height: 100px;">文本垂直…

css如何设置文本垂直居中显示,css中怎么设置文本居中?css文本垂直居中的设置方法...

在网页设计的过程中&#xff0c;有时候可能为了布局美观可能需要让文本居中&#xff0c;那么&#xff0c;怎么设置文本居中呢&#xff1f;本篇文章将给大家介绍关于css设置文本垂直居中的方法。 首先我们要知道通过css实现元素的水平居中较为简单&#xff1a;对文本&#xff0c…

css表格怎么垂直居中对齐,css表格垂直居中怎么设置?

css设置表格垂直居中的方法&#xff1a;1、在表格外面嵌套一层table&#xff0c;用table中的td来控制居中。2、将表格放在div标签中&#xff0c;通过为div设置css样式display:table-cell实现垂直居中。 css设置表格垂直居中的方法&#xff1a;1、在表格外面嵌套一层table&#…

竖排文字垂直居中css样式

竖排文字垂直居中css样式 <div class"item"><p class"bgcolor-green">A0001</p><p class"bgcolor-yellow">A0002</p><p class"bgcolor-red">A0003</p><p class"bgcolor-green"…

CSS实现水平垂直居中的五种方法

前言 今天来看看一个之前困扰我很久的问题&#xff0c;在CSS中&#xff0c;水平垂直居中&#xff0c;能有几种写法。 方法一&#xff1a;margin:auto 子绝父相&#xff0c;当元素绝对定位的时候&#xff0c;会根据最近父元素进行定位&#xff0c;利用这个特性&#xff0c;我…

CSS 元素垂直居中的 6种方法

转自&#xff1a;http://blog.zhourunsheng.com/2012/03/css-%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD%E7%9A%84-6%E7%A7%8D%E6%96%B9%E6%B3%95/ 利用CSS进行元素的水平居中&#xff0c;比较简单&#xff0c;行级元素设置其父元素的text-align center&#xff…

使用 CSS 实现垂直居中的8种方法

​​​​​​CSS垂直居中的8种方法 目录 ​​​​​​CSS垂直居中的8种方法 1、通过vertical-align:middle实现CSS垂直居中。 2、通过display:flex实现CSS垂直居中。 3、通过伪元素:before实现CSS垂直居中。 4、通过display:table-cell实现CSS垂直居中。 5、通过隐藏节点…

css垂直居中的6种方式

在线demo演示地址&#xff1a;https://rondsjinhuajin.github.io/demo/index.html 个人博客主页&#xff1a;KinHKin的博客_CSDN博客-vue,中秋活动,性能优化领域博主 使用人群&#xff1a;前端面试&#xff0c;日常开发小技巧 目录 1、效果演示如下 ​编辑 1、使用display:…

css 居中问题的总结

1.css让浮动的盒子水平居中 解决方法&#xff1a; 给浮动的盒子加一个父盒子&#xff0c;设置宽度跟浮动盒子一样大小&#xff0c;并且overflow:hidden; 设置该盒子为margin: 0 auto; <!DOCTYPE html> <html lang"en"> <head><meta charset&qu…

CSS实现垂直居中的十五种方法

情景一&#xff1a;单行文字垂直居中 1、line-height 原理是在于将单行文字的行高设定后&#xff0c;文字会位于行高的垂直中间位置 <div class"text-con">单行文字垂直居中</div><style>.text-con {width: 200px;height: 60px;line-height: 60px…

CSS垂直居中的10种实现姿势

前言 前端开发中元素居中是最常见和最经常使用到的css技巧&#xff0c;不仅开发中经常会用到&#xff0c;面试官出题考核基础时有时候也会问道这类问题。本文主要介绍10种垂直居中的方法。希望对你我都有帮组。 1、line-heightheight实现 如果子元素是行内文本元素的话&…

CSS 垂直居中的七种方法——史上最详细总结

博主目前在蚂蚁集团-体验技术部&#xff0c;AntV/S2 是博主所在团队的开源项目——多维交叉分析表格&#xff0c;欢迎使用&#xff0c;感谢到 S2 github 仓库点赞 star&#xff0c;有任何关于前端面试、就业、技术问题都可给在文章后留言。 我们在写页面时&#xff0c;通常会用…

严题集6.65//Leetcode105 已知二叉树前序序列和中序序列分别存放在两个一位数组中,建立该二叉树的二叉链表

一、问题描述 注意可以假设数组中没有重复元素&#xff0c;这位我们判断子树是否为空时提供了便利。 二、DVC版本 先是在DVEC上编译的&#xff0c;供读者参考。 后面有LeetCode版的。 BiTree Resume_BiTree(TElemType *pre,TElemType *mid,int prelen,int midlen) //6-65 前…

二叉树的前序序列、中序序列、后序序列、层次序列

前序序列根 左子树 右子树&#xff0c;中序序列左子树 根 右子树&#xff0c;后序序列左子树 右子树 根&#xff0c;层次序列根 第二层从左到右 第三层从左到右 以此类推。中序序列又称为对称序列。 前序序列第一个节点为根节点&#xff0c;后序序列最后一个节点为根节点&…

331.验证二叉树的前序序列化

如果只给一个前序遍历&#xff0c;是不能构造出二叉树的&#xff0c;但是把空节点也加上&#xff0c;就可以唯一构造一个二叉树&#xff0c;按要求模拟一遍&#xff1a; 代码的执行过程被唯一限制住&#xff0c;还有一类是最优化问题&#xff0c;用算法解决该类问题。 class …