码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • OpenCV(一)基础API


    文章目录

    • 前言
    • 一、图像显示
    • 二、图像模糊
    • 三、图像特征检测
    • 四、图像特征匹配
    • 五、RTSP流读取

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zqKTv8PN-1667143294605)(https://csdn-pic-1301850093.cos.ap-guangzhou.myqcloud.com/csdn-pic/公众号横幅-1.png)]

    以下内容是在学习过程中的一些笔记,难免会有错误和纰漏的地方。如果造成任何困扰,很抱歉。

    前言

    OpenCV是计算机视觉中经典的专用库,具备支持多语言、跨平台的优点,OpenCV-Python为OpenCV提供了Python接口,这样使用者在Python中能够调用C/C++,从而在保证易读性和运行效率的前提下,实现所需的功能。

    在深度学习领域中,通过在图像、视频中获取到相应的目标而进行业务分析,那么OpenCV在这里的作用是必不可少。

    一、图像显示

    import cv2
    
    # 读取图片
    image = cv2.imread("C:/Users/13544/Desktop/qqq.png", cv2.IMREAD_UNCHANGED)
    
    # 尺寸: (1080, 1920, 4)
    # 所占内存大小: 8294400
    # 存储图像使用的数据类型: uint8
    print("尺寸:",image.shape)
    print("所占内存大小:",image.size)
    print("存储图像使用的数据类型:",image.dtype)
    
    # 图像存储
    cv2.imwrite("C:/Users/13544/Desktop/qqq2.png",image)
    
    # 打开图片 第一个参数为窗口标题
    cv2.imshow("www", image)
    
    # 等待键盘输入
    cv2.waitKey(0)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    其中,imread包含了两个入参,fileName及flags,第一个参数filename是图像地址,即使图像路径错误,也不会引发任何错误,但是在打印图像时系统会给出None;第二个参数flags是一个标志,指定了读取图像的方式:

    • cv2.IMREAD_COLOR:加载彩色图,任何图像的透明度都会被忽视,它是默认参数值可以用1代替。
    • cv2.IMREAD_GRAYSCALE:以灰度模式(黑白图像)加载图像,可以用0代替。
    • cv2.IMREAD_UNCHANGED:加载图像,包括alpha通道,可以用-1代替。

    该函数返回修改后的图像数字矩阵,其中维度如下:

    • (M,N)灰度图

    • (M,N,3)RGB彩色图

    二、图像模糊

    import cv2
    import matplotlib.pyplot as plt
    
    image = cv2.imread("C:/Users/13544/Desktop/qqq.png", 0)
    
    blur_demo = cv2.blur(<
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    Qt实现TCP调试助手 - 简述如何在Qt中实现TCP多并发
    【数组】非递增的最小子序列 计数排序
    极客日报:抖音否认进入外卖行业;谷歌发布Android 12硬件门槛;IntelliJ IDEA 2021.3 EAP 4发布
    ES6基础语法----解构
    基于javaweb+mysql的教务选课管理系统(管理员、教师、学生)
    【Python百日进阶-数据分析】Day325 - plotly.express.scatter_3d():3D散点图
    Hexo博客进阶:为 Next 主题的 Hexo 博客内容添加文章过期/时效提示
    appium+python自动化测试
    gdb工具使用方法和常用指令介绍
    关于JVM:内容以及流程释义
  • 原文地址:https://blog.csdn.net/weixin_48518621/article/details/127607243
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号