zoukankan      html  css  js  c++  java
  • Python-OpenCV图像识别学习

    代码已托管GitHub,仓库地址:OpenCV3-note以下为仓库的README.md,介绍仓库信息及代码结构:


    OpenCV

    OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。
    OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。

    OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。


    Demo环境

    cv:4.0.0
    numpy:1.16.2
    python:3.6.1 (v3.6.1:69c0db5, 3212017, 17:54:52) [MSC v.1900 32 bit (Intel)]
    

    代码及笔记结构

    • chapter1
      • Python-OpenCV的虚拟环境安装测试、Github的命令操作等准备工作
    • chapter2
      • OpenCV图像的处理操作:获取图像信息(通道、大小等)、图像倒置(利用循环、利用numpy)、摄像头操作,同样可以运用于视频等。
      • 色彩空间:色彩空间的转换、学会使用inRange、通道分离合并。
      • 图像像素运算:加减乘除、与或非、均值方差、对比度亮度等操作。
    • chapter3
      • ROI(Region of onterest) 和 泛洪填充:图像的矩形提取、泛洪填充demo、二值图像填充。
      • 图像模糊操作:均值模糊(随机噪声)、中值模糊(椒盐噪声)、自定义模糊。
      • 高斯模糊:比均值模糊去噪效果更好,对高斯噪声效果较好。
    • chapter4
      • 图像的直方图:直方图的均衡化、直方图的比较(巴氏距离、直方图相关性、卡方)。
      • 直方图反向投影。
      • 图像二值化:OTSU、Triangle(单波峰)、局部域值、自定义域值、超大图像二值化(分块、全局域值 局部域值)。
      • 模板匹配:应用范围比较小,可能会受光线、噪声的影响,多种匹配方法:TM_SQDIFF_NORMED、TM_CCORR_NORMED、TM_CCOEFF_NORMED。
    • chapter5
      • 图像金字塔:reduce 降采样、expand 扩大。
      • 图像梯度:一阶导数和Sobel算子、Scharr算子;二阶倒数和Laplacian算子、自定义拉普拉斯算子。
      • 图像边缘提取:Canny边缘检测算法(对噪声敏感,所以先使用GaussianBlur除噪)。
    • chapter6
      • 直线检测(霍夫直线检测):HoughLines(直接划出直线)、HoughLinesP(自定义参数划出线段)。
      • 圆检测:霍夫园检测(对噪声敏感,所以需要去噪,如果不进行均值迁徙去噪,结果误差极大)。
      • 轮廓发现:1.去噪,2.灰度图像,3.二值图像,4.findContours发现轮廓,5.drawContours描绘轮廓,6.计算出轮廓,就可以进行轮廓的分析,如面积周长等。
      • 图像测量:图像中心点、图像面积测量、图像线段逼近(根据逼近的线段数得出图像形状)。
    • chapter7
      • 图像膨胀和腐蚀:彩色和灰度图像、单通道和多通道都支持。
      • 开闭操作:开操作(先腐蚀再膨胀,主要作用:去噪点,去掉小的干扰块)、闭操作(先膨胀再腐蚀,主要作用:填充小的封闭区域)。其他作用:水平或垂直直线提取、干扰线的去除。
      • 其他形态学操作:顶帽 tophat:原图像与开操作之间的差值图像、黑帽 blackhat:闭操作与原图像的差值图像、其他形态学操作 Gradient(梯度)。
      • 基于距离变换的分水岭算法流程:运用于图像分割。
    • chapter8
      • 基于级联检测器的人脸识别(haarcascade_frontalface_alt_tree.xml):需要光线较强的情况下才能比较准确。
      • 基于OpenCV+Tesserct-OCR的数字验证码识别:OpenCV预处理、Tesserct-OCR验证码识别。

    有问题反馈

    在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

  • 相关阅读:
    内网穿透(Frp)-拯救没有公网IP的你
    用Windows远程桌面连接树莓派的方法
    TensorFlow 1.9开始支持树莓派
    树莓派制作遥控小车-新手教程
    Layui 一个页面包含多个table时不展示分页条
    MVC 通过@符号把数据赋值给jQuery对象
    jQuery 批量为表单元素赋值
    layui分页组件,一直在调用方法的解决办法
    layui 表格复选框不居中解决办法
    JQuery 解决遮罩层下内容可以滚动问题
  • 原文地址:https://www.cnblogs.com/l0zh/p/13739728.html
Copyright © 2011-2022 走看看