0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈Python中的opencv

FPGA之家 来源:FPGA之家 作者:FPGA之家 2021-04-12 16:36 次阅读

经典机器学习深度学习,当下这些热门的词汇不知不觉在我们学习(diaosi)氛围浓重的大学蔓延开来,作为与计算机专业毫不相干的,指挥摁下开机键,点开穿越火线娴熟地操作wasd的我而言,当周围人讨论opencv,tensorflow,sklearn这些玄幻词汇时,听得我是一头雾水。今天,重拾一年前敲击hello world的自信,开启了Python的opencv生涯。

壹 为什么选择python?

作为时下最时尚的python语言,简洁的代码,借助于向军火库一般的各种开源工具包,你可以完成你想做的任何事。数值计算这些numpy,scipy,数据分析工具pandas,可视化matplotlib,可以使得非计算机工科生甚至文科生轻松上手,爬取处理数据。作为胶水语言的python在opencv上的应用不仅简单方便编写代码,其运行速度有时甚至优于c++等,让你更加专注于目标而不是语法结构。最重要的是,如果你已经下载过了anaconda python,安装opencv只需要一行代码就可完成!

贰 掌握anaconda和安装opencv

anaconda是用于科学计算的免费的python版本。可以在官网上下载anaconda,https://www.anaconda.com/,选择windows还是linux或是苹果的mac os。看清楚32位还是64位便可以下载。不过,下载数小时,经常下载不成功是常事。这时候,强烈建议逛一逛清华或者中科大的镜像站,下载变成分分钟的事。

opencv的安装:在网页上下载好对应版本的.whl文件后,打开你电脑的命令行,pip install一下就ok了。

叁 常见图片的格式

作为图像处理,那就需要知道常见的图片格式有哪些。

比较老的有bmp格式,bmp格式无损及没有压缩像素,但麻烦的是图片的体积偏大。

接着是jpg格式或者是jpeg格式,这是有损压缩的模式,将像素信息用jpeg保存成文件再读取出来。这个是我比较常处理的,用最少的磁盘空间得到最好的图片质量。

还有是png格式,是一种无损压缩模式,用的是行程编码算法,相比jpeg,更加适合存储几何特征比较强的图片。

我们在空间搞笑图片中常看见的GIF格式图片,是多帧图像的集合。我们处理读取时也要一帧一帧读。通过调节参数也可以控制显示快慢。

我们常说的黑白图像,在计算机中有两种。一种是位图模式,是真真切切的非黑即白,这种图像只有一位深度:0就是纯黑,1就是纯白。

还有一种图像叫灰度图像,在生活中我们常把灰度图像作为黑白图像。事实上,灰度图像有8位深度,(0,0,0,0,0,0,0,0)是纯黑,(1,1,1,1,1,1,1,1)是纯白,其余介于1至255之间的就是不同深度的灰度图像。

彩色图像就是RGB图像,顾名思义,RED,GREEN,BLUE,这三种色彩叠加组合可以构成我们人眼看到的任何颜色,在计算机处理彩色图像时,也是通过红绿蓝三个通道来进行,每个通道又各有八个深度,由此,我们知道,理论上计算机可以构成256的三次方种颜色!

肆 色彩空间转换

hsv颜色模型更接近人感觉颜色的方式,H是色相,S是饱和度,V是亮度。

lab色彩空间:L:整张图的亮度,a和b表示颜色多少,用于编码颜色。

opencv提供了上百种颜色空间转换方法,opencv做转化时,用到了cvtColor函数。

该函数用两个参数足以,第一个是图像名称,第二个是转换方式。

例如,我已经读入一个函数,

img = cv2.imread(path,way),

其中path是路径,way是读入方式,灰度图,彩色图还是加载alpha通道。

接着, gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 这就完成了彩色图像与灰度图像之间的转化。

其中,cv2.COLOR_BGR2GRAY这个方式,如果转化后还想要csv,就cv2.COLOR_BGR2CSV,如果想变更通道顺序,那么cv2.COLOR_BGR2RGB就可以了,很好玩。

图像缩放用cv2.resize函数,例如变成400*400像素记得写成cv2.resize(img,(400,400))。同样如果想x方向缩小直接fx=0.5即可。

此外,图像反转,图像保存,阈值化处理等也被opencv包装成了函数,用起来也十分方便。
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40778
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83467

原文标题:浅浅浅浅谈opencv

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    itop-RK3588开发板机器视觉开发OpenCV-Python的安装

    itop-RK3588开发板机器视觉开发OpenCV-Python的安装
    的头像 发表于 01-26 15:18 1326次阅读
    itop-RK3588开发板机器视觉开发<b class='flag-5'>OpenCV-Python</b>的安装

    OpenCV基础知识入门

    OpenCV是计算机视觉中最受欢迎的库,最初由intel使用C和C ++进行开发的,现在也可以在python中使用。该库是一个跨平台的开源库,是免费使用的。OpenCV库是一个高度优化的库,主要关注实时应用程序。
    的头像 发表于 10-29 11:29 399次阅读
    <b class='flag-5'>OpenCV</b>基础知识入门

    【幸狐 Core3566 模组试用体验】基于openCV的猫脸识别

    本文主要介绍如何基于openCV来实现一个简单的猫脸识别应用。 一、基础准备 首先需要安装openCV,因为python版的方便点,所以直接安装python
    发表于 09-24 23:50

    如何在开发环境Python环境下使用我们提供的BM-OpenCV?

    如何在开发环境Python环境下使用我们提供的BM-OpenCV?
    发表于 09-19 07:14

    OpenCV的BGR格式,在libyuv对应的那个格式?OpenCV的RGB格式呢?

    OpenCV的BGR格式,在libyuv对应的那个格式?OpenCV的RGB格式呢?
    发表于 09-19 06:00

    K510跑pythonopencv可行吗?打包为linux可执行文件能跑吗?

    想了解一下K510跑pythonopencv可行吗?打包为linux可执行文件能跑吗?
    发表于 09-14 09:01

    无法在OpenVINO trade Docker运行OpenCV怎么解决?

    * 函数的 Python* 推理脚本。cv2.VideoCapture 退货(错误,无) 分辨率 检查 系统是否真的安装了 OpenCV*: pip show opencv 还是 pip show
    发表于 08-15 08:29

    opencv_videoio_ffmpeg_64.dll缺失,无法在OpenVINO trade配置OpenCV怎么处理?

    ] global C:\\jenkins\\workspace\\OpenCV\\OpenVINO\\2021.4\\build\\windows\\opencv\\modules\\videoio
    发表于 08-15 08:24

    使用OpenVINO包含的OpenCV时无法导入ArUco库如何解决?

    使用OpenVINO™包含的 OpenCV。 导入了搭载 Python 的 ArUco 库。 收到错误:ModuleNotFoundError: No module named \'cv2.aruco\'
    发表于 08-15 07:30

    Python实现OpenCV的安装与使用

      本文实例讲述了 Python 实现 OpenCV 的安装与使用。分享给大家供 大家参考,具体如下:  由于下一步要开始研究下深度学习,而深度学习领域很多的算法和应 用都是用 Python 来实现
    发表于 07-20 11:46 7次下载

    python opencv运动检测代码分享

      本文实例为大家分享了 python opencv 运动检测的具体代码,供大家  参考,具体内容如下  # -*- coding:utf-8 -*-  __author__ = ‘kingking
    发表于 07-20 11:44 1次下载

    带有OpenCVPython的Google Chrome恐龙游戏

    电子发烧友网站提供《带有OpenCVPython的Google Chrome恐龙游戏.zip》资料免费下载
    发表于 07-05 11:46 0次下载
    带有<b class='flag-5'>OpenCV</b>和<b class='flag-5'>Python</b>的Google Chrome恐龙游戏

    学习OpenCV4的系统化路线图

    OpenCV4发布测试版本开始,作者就一直关注!根据自己近十年图像处理OpenCV开发相关工作经验,花了七个月的时间,针对OpenCV4、精心选择OpenCV中常用模块与知识点,构建
    的头像 发表于 07-05 11:30 369次阅读
    学习<b class='flag-5'>OpenCV</b>4的系统化路线图

    Python OpenCV教程:特定颜色的检测

    在这篇OpenCV Python文章中,我想展示OpenCV中的基本颜色检测示例。 我们用颜色空间或颜色模型来表示计算机上的颜色,该模型基本上将颜色范围描述为数字元组。除了讨论每种颜色之外,我们还将
    的头像 发表于 07-03 10:30 647次阅读

    基于python-opencv实时识别黑线赛道(三)之上位机PID调控前篇

    本篇文章是前两篇文章的进阶版本(基于python-opencv实时识别黑线赛道(一)与基于python-opencv实时识别黑线赛道(二)),在实时识别黑线的基础上标注了黑线的角度,同时,本篇
    发表于 05-10 10:41 0次下载
    基于<b class='flag-5'>python-opencv</b>实时识别黑线赛道(三)之上位机PID调控前篇