设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『机器视觉/AI/IoT/机器人论坛』
›
Opencv入门
返回列表
发新帖
Opencv入门
[复制链接]
55910
|
0
|
2024-7-17 18:32:07
|
显示全部楼层
|
阅读模式
Opencv入门
Opencv简介
Opencv是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
比赛常使用Opencv进行颜色识别和测距,比如工创赛。
以下内容均为使用Python进行开发的分享内容。
01
环境配置
Python安装
01
下载python安装包
点击下载即可
02
安装安装包
以版本3.7.3为例
03
测试
1)win+R打开命令行工具,输入cmd;
2)输入python,出现以下界面表示安装完成。
Pycharm安装
1)软件商店直接安装
2)官网:https://www.jetbrains.com/pycharm/download/?section=windows#section=windows
Opencv安装
1)下载安装
官网:https://opencv.org/releases/
2)pip安装
打开cmd,输入下面两条指令:
pip install opencv-python --user -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install opencv-contrib-python --user -i https://pypi.tuna.tsinghua.edu.cn/simple
02
操作分享
读取并显示图片
使用库函数imread、imshow等函数可以轻易显示处理图片,注意图片路径要在程序文件夹中:
图像处理
图像的表示
1
计算机中采用矩阵来表示和处理图像,图像的表示有三种方式:二值图像、灰度图像、彩色图像,图像细节信息逐渐丰富。
计算机处理图像时会将先将其划分为一个个小方格,每个小方格称为像素点。
二值图像:计算机处理图像时会将先将其划分为一个个小方格,每个小方格称为像素点。接下来,计算机将白色像素点处理为“1”,黑色像素点处理为“0”。
灰度图:只有一个通道,一个矩阵,取值在0-255之间,有256种颜色。
彩色图像:有blue、green、red三个通道,三个矩阵,取值均在0-255之间。
在RGB图像中,可以分别拆分出R通道、G通道、B通道,效果如下:
图像的运算
2
接下来简单介绍图像的加法运算、位运算。
图像的加法运算,以灰度图像为例,对参与运算的图像(图像大小和类型一致)两个像素点进行相加对256取余。
以下为使用cv2.add()函数对随机数组处理的模拟结果,结果相比较于加号运算符会整体变亮,因为此函数会将大于255的值处理为饱和值255。
代码演示
数组运算结果
接下来简单介绍位运算,图像加权和不再赘述。
位运算的按位与运算是将数值转化为二进制后,在对应的位置上进行与运算,结果如下,位运算的其他运算不再赘述。
下面采用数组来进行说明:
阈值处理
阈值处理是指剔除图像内像素值高于一定值或者低于一定值的像素点。比如:如果阈值设定为127,那像素值大于127的像素点设为255,低于127的像素点设为0。
反二值化阈值处理、截断阈值化处理、超阈值零处理原理也是设定一个阈值,只是对高于阈值和低于阈值的值处理不一样,不再赘述。
对于明暗差异较大的图像,单一阈值无法完成对图像的阈值化处理,采用自适应阈值化处理能较好处理这种情况。但如果图片明暗差异不大,效果就会比较差,会很不清楚:
颜色检测
图像处理中对颜色的转换形式有很多种,比较主流的就是RGB、BGR、HSV、HSL,目前在智能小车和比赛中使用的机器摄像头中,对颜色的处理大多都使用HSV。对目标图像的所有像素点进行筛选,将符合指标的像素设置为白色,不符合设置的设为黑色。
比如检测摄像机镜头下的红色元素:
小编有话说
在初学Opencv期间,自己其实也发现自己在不停的调库,里面的核心算法是真不会(库函数也没记住过,写完就忘了)有时间还是建议大家看下后面的算法原理,但也不一定要重复造轮子。
大家熟悉一遍库函数,调用API实现一些小操作后,可以对目标(物体)检测,图像分割以及行为识别这三部分下点功夫。opencv我自己也是初学者,有不对的部分请见谅,希望大家越来越棒!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
hmanan
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』