环境: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基础:通过图像颜色进行文字提取相关推荐

  1. OpenCV基础知识 图像

    OpenCV基础知识 图像 位图模式 灰度模式 RGB模式 位图模式 位图模式是是1位深度的图像,只有黑和白两种颜色.它可以由扫描或置入黑色的矢量线条图像生成,也能由灰度模式转换而成.其他图像模式不能 ...

  2. 【181202】VC++ 实现图像中的文字提取源代码

    源码下载简介 VC++ 实现图像中的文字提取,内附有测试图片,效果如截图所示. 源码下载地址:点击下载 备用下载地址:点击下载

  3. 【千律】OpenCV基础:图像外接矩形、最小外接矩形、凸包、外接圆、拟合椭圆的绘制

    环境:Python3.8 和 OpenCV 内容:图像外接矩形.最小外接矩形.凸包.外接圆.拟合椭圆的绘制 import cv2 as cv import numpy as np import mat ...

  4. 一些基础的图像颜色特征

    一.颜色直方图 这个就不赘述了,颜色各个分量的统计特征,或者是采用加权的方法,将所有的分量合成一个量,构建出来对颜色的统计信息 二.颜色矩 也是颜色离散数据的统计特征,不包含空间信息,说白了就是三个量 ...

  5. 【千律】OpenCV基础:图像阈值分割 -- 自适应阈值分割 -- 代码实现

    环境:Python3.8 和 OpenCV 内容:自适应阈值分割代码实现 import cv2 as cv import numpy as np import matplotlib.pyplot as ...

  6. opencv基础之--图片颜色反转

    方法一: #0-255 255-当前 import cv2 import numpy as np img = cv2.imread('image0.jpg',1) imgInfo = img.shap ...

  7. java识别图片中的图形形状_基于Java+OpenCV技术对几何图像颜色与形状识别

    基于 Java+OpenCV 技术对几何图像颜色与形状识别 杨思阳 黄军 吴春秋 (黔东南民族职业技术学院,贵州 凯里 556000) [摘 要] 通过 Java 调用 OpenCV 视觉库实现几何图 ...

  8. OpenCV 基础实战一图像的读取和显示

    OpenCV 基础实战一图像的读取和显示 该系列主要是完成功能 图像的读取和显示 该系列主要是完成功能 文章主要是基于python3(pycharm) +Opencv3 做的讲解和实现,对于代码的原理 ...

  9. python使用openCV加载图像、并将BGR格式转换成HSV格式、定义HSV格式中需要分离颜色的掩码(掩模)区间(mask)、并使用mask信息进行颜色分离、BGR格式的图像转化为RGB、并可视化

    python使用openCV加载图像.并将BGR格式转换成HSV格式.定义HSV格式中需要分离颜色的掩码(掩模)区间(mask).并使用mask信息进行颜色分离.将BGR格式的图像转化为RGB.可视化 ...

最新文章

  1. android setting.java,Android Setting 启动流程总结
  2. 【css】如何实现响应式布局
  3. 【DevOps】为什么我们永远疲于奔命?
  4. 【剑指offer】面试题04:二维数组中的查找(java)
  5. 江苏单招试题计算机原理及答案,江苏省对口单招计算机组装与维修计算机原理考题分类汇总.docx...
  6. GIPS语音编解码器家族
  7. 瑞典卡罗林斯卡医学院博士后招聘,图像流行病学和深度学习领域
  8. bzoj 1594: [Usaco2008 Jan]猜数游戏【二分+线段树】
  9. 银河麒麟支持php吗,银河麒麟操作系统下载
  10. php实现三级导航栏效果
  11. BCNF范式、第四范式和第五范式
  12. CentOS 使用shc加密脚本
  13. 剑指 Offer(C++版本)系列:剑指 Offer 10- II 青蛙跳台阶问题
  14. webrtc VAD 算法
  15. 小程序地图组件开发全教程
  16. 生物信息常用文件格式
  17. latex IEEE单栏文章图片双栏目排列
  18. 【算法提高—蓝桥杯】阮小二买彩票
  19. python 廖雪峰_实战 - 廖雪峰的官方网站
  20. 5点聊透技术领导力本质

热门文章

  1. 十四 iOS之 画板
  2. 《小公主养成记》——C++第一阶段项目
  3. 少儿学编程系列---如何使用turtle画花瓣或叶子
  4. Mysql 创建表及添加备注详解(create table)
  5. 如何理解通道数in_channel和out_channels
  6. simulink抖动_时钟抖动的建模与仿真_上传
  7. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java汽车租赁管理系统n5s69
  8. S27赛季即将来袭 教你用Java做游戏王者荣耀
  9. Python爬虫系列之爬取某优选微信小程序全国店铺商品数据
  10. 分布式服务框架的概念理解