OpenCV实践:去除票据中的红色印章

article/2025/6/23 19:41:44

现实生活中,一些票据(比如发票、车票)等都会有一个红色印章,有时会盖在某个关键区域,影响了其他的字符识别。因此,为了提高准确率,我们尽量会移除红色印章,具体实现方法如下:

  1. 对彩色图分离通道,拿到红色通道图
  2. 进行阈值分割
#include<iostream>
#include<opencv2\opencv.hpp>
#include<opencv2\highgui\highgui.hpp>
#include<stdlib.h>
using namespace cv;
using namespace std;int main()
{char*  path = "D:\\01.jpg";Mat src = imread(path);if (src.empty()){return -1;}imshow("original", src);Mat gray;cvtColor(src, gray, CV_BGR2GRAY);//全局二值化int thresh_value = 100;Mat binary;threshold(gray, binary, thresh_value, 255, CV_THRESH_BINARY);imshow("binary", binary);vector<Mat> channes;split(src, channes);Mat red = channes[2];imshow("red", binary);Mat red_binary;threshold(red, red_binary, thresh_value, 255, CV_THRESH_BINARY);imshow("red+binary", red_binary);//Mat red_dilate;//Mat kernel = getStructuringElement(MORPH_RECT, Size(2, 2), Point(-1, -1));//dilate(red_binary, red_dilate, kernel);//Mat kernel = getStructuringElement(MORPH_ELLIPSE, Size(2, 2), Point(-1, -1));//morphologyEx(red_binary, red_dilate, MORPH_OPEN, kernel, Point(-1, -1));//imshow("red+binary+dilate", red_dilate);waitKey();return 0;
}


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

相关文章

OpenCV探索之路(二十六):如何去除票据上的印章

http://www.cnblogs.com/skyfsm/p/7638301.html 最近在做票据识别的编码工作时遇到一些问题&#xff0c;就是票据上往往会有一些红色印章把一些重要信息区域给覆盖了&#xff0c;比如一些开发票人员盖印章时比较随意&#xff0c;容易吧一些关键区域给遮蔽了&#xff0c;这让接下…

OPENCV实践项目-去除票据中的红色印章

目录 1. 实现方法2. 代码实现3. 结果展示 1. 实现方法 现实生活中&#xff0c;一些票据&#xff08;比如发票、车票&#xff09;等都会有一个红色印章&#xff0c;有时会盖在某个关键区域&#xff0c;影响了其他的字符识别。因此&#xff0c;为了提高准确率&#xff0c;我们尽…

OpenCV:如何去除票据上的印章

最近在做票据识别的编码工作时遇到一些问题&#xff0c;就是票据上往往会有一些红色印章把一些重要信息区域给覆盖了&#xff0c;比如一些开发票人员盖印章时比较随意&#xff0c;容易吧一些关键区域给遮蔽了&#xff0c;这让接下来的票据识别很困难&#xff0c;因此&#xff0…

OpenCV—python 发票印章去除或分割(图像内容识别预处理)

前言 在做发票内容识别时&#xff0c;发现发票的印章遮挡住文字信息&#xff0c;尤其在合计金额处&#xff0c;导致这一处的信息提取出问题&#xff0c;于是想到去除发票印章。 思路一&#xff1a;通过颜色通道获取所需信息图 &#xff08;代码主要是参考 http://www.deanha…

【图像处理通道分离去除印章】

如下图所示&#xff0c;想要取出图像上的红色印记&#xff0c;我们可以采用通道分离的方法&#xff0c;具体如下&#xff1a; #include<opencv2\opencv.hpp> #include<string> #include <vector>using namespace cv; using namespace std;int main() {Mat sr…

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

1.背景 最近一个客户要求去除发票中的红色印章部分: 就是票据上往往会有一些红色印章把一些重要信息区域给覆盖了,比如一些开发票人员盖印章时比较随意,容易吧一些关键区域给遮蔽了,这让接下来的票据识别很困难,因此,我们必须先对票据图像进行一定的预处理来移除印章干扰…

opencv去除印章痕迹

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

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

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

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

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

CSS垂直居中的几种方法

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

CSS中垂直居中的七种方法

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

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…