【千律】OpenCV基础:通过图像颜色进行文字提取
环境:Python3.8 和 OpenCV
内容:通过图像颜色进行文字提取
文字提取步骤
1. 模糊图片,削弱噪声
2. 获取二值图
3. 形态学操作,完善二值图
4. 轮廓提取,获得字符区域
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt# 封装图片显示函数
def image_show(image):if image.ndim == 2:plt.imshow(image, cmap='gray')else:image = cv.cvtColor(image, cv.COLOR_BGR2RGB)plt.imshow(image)plt.show()if __name__ == '__main__':# 读取原图img_words = cv.imread('words.jpg')# 高斯模糊img_gaussian = cv.blur(img_words, ksize=(5, 5))# 区域颜色colors = np.array([[0, 135, 195],[0, 220, 235],[15, 0, 175],[50, 80, 135],[225, 90, 125]])# 波动范围dis = 40# 获取掩码masks = []for i in range(len(colors)):mask = cv.inRange(img_words, colors[i] - dis, colors[i] + dis)masks.append(mask)# 形态学腐蚀--开运算kernel = cv.getStructuringElement(cv.MORPH_RECT, ksize=(3, 3))for i in range(len(colors)):masks[i] = cv.morphologyEx(masks[i], cv.MORPH_OPEN, kernel)# 寻找轮廓words = [] # 存储单词minArea = 2000 # 最小面积for mask in masks:cns, hir = cv.findContours(mask, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)for cnt in cns:if cv.contourArea(cnt) > minArea:[x, y, w, h] = cv.boundingRect(cnt)words.append(mask[y: y + h, x: x + w])# 循环显示结果for word in words:image_show(word)
【千律】OpenCV基础:通过图像颜色进行文字提取相关推荐
- OpenCV基础知识 图像
OpenCV基础知识 图像 位图模式 灰度模式 RGB模式 位图模式 位图模式是是1位深度的图像,只有黑和白两种颜色.它可以由扫描或置入黑色的矢量线条图像生成,也能由灰度模式转换而成.其他图像模式不能 ...
- 【181202】VC++ 实现图像中的文字提取源代码
源码下载简介 VC++ 实现图像中的文字提取,内附有测试图片,效果如截图所示. 源码下载地址:点击下载 备用下载地址:点击下载
- 【千律】OpenCV基础:图像外接矩形、最小外接矩形、凸包、外接圆、拟合椭圆的绘制
环境:Python3.8 和 OpenCV 内容:图像外接矩形.最小外接矩形.凸包.外接圆.拟合椭圆的绘制 import cv2 as cv import numpy as np import mat ...
- 一些基础的图像颜色特征
一.颜色直方图 这个就不赘述了,颜色各个分量的统计特征,或者是采用加权的方法,将所有的分量合成一个量,构建出来对颜色的统计信息 二.颜色矩 也是颜色离散数据的统计特征,不包含空间信息,说白了就是三个量 ...
- 【千律】OpenCV基础:图像阈值分割 -- 自适应阈值分割 -- 代码实现
环境:Python3.8 和 OpenCV 内容:自适应阈值分割代码实现 import cv2 as cv import numpy as np import matplotlib.pyplot as ...
- opencv基础之--图片颜色反转
方法一: #0-255 255-当前 import cv2 import numpy as np img = cv2.imread('image0.jpg',1) imgInfo = img.shap ...
- java识别图片中的图形形状_基于Java+OpenCV技术对几何图像颜色与形状识别
基于 Java+OpenCV 技术对几何图像颜色与形状识别 杨思阳 黄军 吴春秋 (黔东南民族职业技术学院,贵州 凯里 556000) [摘 要] 通过 Java 调用 OpenCV 视觉库实现几何图 ...
- OpenCV 基础实战一图像的读取和显示
OpenCV 基础实战一图像的读取和显示 该系列主要是完成功能 图像的读取和显示 该系列主要是完成功能 文章主要是基于python3(pycharm) +Opencv3 做的讲解和实现,对于代码的原理 ...
- python使用openCV加载图像、并将BGR格式转换成HSV格式、定义HSV格式中需要分离颜色的掩码(掩模)区间(mask)、并使用mask信息进行颜色分离、BGR格式的图像转化为RGB、并可视化
python使用openCV加载图像.并将BGR格式转换成HSV格式.定义HSV格式中需要分离颜色的掩码(掩模)区间(mask).并使用mask信息进行颜色分离.将BGR格式的图像转化为RGB.可视化 ...
最新文章
- android setting.java,Android Setting 启动流程总结
- 【css】如何实现响应式布局
- 【DevOps】为什么我们永远疲于奔命?
- 【剑指offer】面试题04:二维数组中的查找(java)
- 江苏单招试题计算机原理及答案,江苏省对口单招计算机组装与维修计算机原理考题分类汇总.docx...
- GIPS语音编解码器家族
- 瑞典卡罗林斯卡医学院博士后招聘,图像流行病学和深度学习领域
- bzoj 1594: [Usaco2008 Jan]猜数游戏【二分+线段树】
- 银河麒麟支持php吗,银河麒麟操作系统下载
- php实现三级导航栏效果
- BCNF范式、第四范式和第五范式
- CentOS 使用shc加密脚本
- 剑指 Offer(C++版本)系列:剑指 Offer 10- II 青蛙跳台阶问题
- webrtc VAD 算法
- 小程序地图组件开发全教程
- 生物信息常用文件格式
- latex IEEE单栏文章图片双栏目排列
- 【算法提高—蓝桥杯】阮小二买彩票
- python 廖雪峰_实战 - 廖雪峰的官方网站
- 5点聊透技术领导力本质
热门文章
- 十四 iOS之 画板
- 《小公主养成记》——C++第一阶段项目
- 少儿学编程系列---如何使用turtle画花瓣或叶子
- Mysql 创建表及添加备注详解(create table)
- 如何理解通道数in_channel和out_channels
- simulink抖动_时钟抖动的建模与仿真_上传
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java汽车租赁管理系统n5s69
- S27赛季即将来袭 教你用Java做游戏王者荣耀
- Python爬虫系列之爬取某优选微信小程序全国店铺商品数据
- 分布式服务框架的概念理解