位置: IT常识 - 正文

计算机视觉-OpenCV入门讲解(计算机视觉opencv 有什么项目)

编辑:rootadmin
计算机视觉-OpenCV入门讲解

推荐整理分享计算机视觉-OpenCV入门讲解(计算机视觉opencv 有什么项目),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:计算机视觉opencv基础,计算机视觉opencv 有什么项目,计算机视觉opencv期末考试,计算机视觉opencv总结,计算机视觉opencv总结,计算机视觉opencv期末考试,计算机视觉opencv总结,计算机视觉opencv基础,内容如对您有帮助,希望把文章链接给更多的朋友!

🎉作者简介:在读计算机研究生,目前研二。主要研究方向是人工智能和群智能算法方向。目前熟悉python网页爬虫、机器学习、计算机视觉(OpenCV)、群智能算法目前正在学习深度学习的相关内容。 📃个人主页:吃猫的鱼python个人主页 🔎支持:如果觉得博主的文章还不错或者您用得到的话,可以免费的关注一下博主,如果三连收藏支持就更好啦!👍就是给予我最大的支持!🎁 💛本文摘要:

本专栏将非常细致的讲解相关与计算机视觉OpenCV的相关知识即操作,非常的简单易懂。本文主要讲解相关与计算机视觉的相关入门内容,关于图像处理的相关简单操作,包括读入图像、显示图像及图像相关理论知识。

文章目录☀️一.什么是计算机视觉☀️二.图片处理基础操作🌕图片处理:读入图像🌕图片处理:显示图像🌕图片处理:图像保存☀️三.图像处理入门基础🌕图像成像原理介绍🌕图像分类☀️四、像素处理操作🌕读取像素🌕修改像素🌕使用python中的numpy修改像素点☀️五、获取图像属性🌕形状🌕像素数目🌕图像类型☀️六.图像ROI☀️六、通道的拆分与合并☀️一.什么是计算机视觉

计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。这里所指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。 视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分。由于它的重要性,一些先进国家,例如美国把对计算机视觉的研究列为对经济和科学有广泛影响的科学和工程中的重大基本问题,即所谓的重大挑战(grand challenge)。计算机视觉的挑战是要为计算机和机器人开发具有与人类水平相当的视觉能力。机器视觉需要图象信号,纹理和颜色建模,几何处理和推理,以及物体建模。一个有能力的视觉系统应该把所有这些处理都紧密地集成在一起。 我们目前如果是在校学生,对于计算机视觉和机器学习的相关知识的学习是非常有用的,无论是对于自己的工作前景还是相关论文的撰写都是非常有用的,而且目前对于计算机的相关知识已经设计到了各个专业领域,其中包括医学领域(计算机视觉分析CT成像)、电学领域(使用matlab及相关领域画图)、人脸识别和车牌识别等等。而且有想要做交叉学科的对于计算机可以和任意领域及进行无障碍交叉。 由于我这个理工男的语文功底并不好,语言组织能力不强,所以我们今天就啰嗦到这里,总结一下就是计算机视觉及机器学习等和计算机相关的东西特别重要!

☀️二.图片处理基础操作

首先我们来看一段简单的计算机视觉相关代码:

import cv2img=cv2.imread('path')#path指图片相关路径cv2.imshow('Demo',img)cv2.nameWindow('Demo')cv2.waitKey(0)cv2.destroyAllWindows()

这段代码就可以在计算机中显示出img的相关图像。接下来我们讲解一下每一步的相关操作。

🌕图片处理:读入图像

相关函数:image=cv2.imread(文件名相关路径[显示控制参数]) 文件名:完整的路径。 其中参数包括: cv.IMREAD_UNCHANGED :表示和原图像一致 cv.IMREAD_GRAYSCALE : 表示将原图像转化为灰色图像。 cv.IMREAD_COLOR:表示将原图像转化为彩色图像。 例如: cv2.imread(‘d:\image.jpg’,cv.IMREAD_UNCHANGED)

🌕图片处理:显示图像

相关函数:None=cv2.imshow(窗口名,图像名) 例如:cv2.imshow(“demo”,image) 但是在OpenCV中我们图像显示还是要加上相关约束: retval=cv2.waitKey([delay]) 如果没有这个限制,那么显示的图像就会一闪而过,就会发生错误。 其中delay参数包括: dealy=0,无限等待图像显示,直到关闭。也是waitKey的默认数值。 delay<0,等待键盘点击结束图像显示,也就是说当我们敲击键盘的时候,图像结束显示。 delay>0,等待delay毫秒后结束图像显示。 最后我们还需要显示 cv2.destroyAllWindows() 把图像从内存中彻底删除。

🌕图片处理:图像保存

相关函数:retval=cv2.imwrite(文件地址,文件名) 例如: cv2.imwrite(‘D:\test.jpg’,img) 将img保存到了路径D:\test.jpg

☀️三.图像处理入门基础🌕图像成像原理介绍

首先我们第一个要深深深深的刻在脑子里的概念就是:

图片是由像素点构成的。

生动一点表示就是这样: 这样就可以完美的展示出计算机图像的成像原理,就是用一个个有颜色的像素点拼接而成的。

🌕图像分类

图像一般分为三类: 🌙一、二值图像 二值图像表示的意思就是每一个像素点只由0和1构成,0表示黑色,1表示白色,而且这里的黑色和白色是纯黑和纯白。所以我们看到的图像也就是这个样子。我们以官网丽娜为例子。

计算机视觉-OpenCV入门讲解(计算机视觉opencv 有什么项目)

🌙二、灰度图像 灰度图像就是一个8位的位图。什么意思呢?就是说00000001一直到11111111,这就是二进制表示。如果表示成我们常用的十进制就是0-255。其中0就表示纯黑色,255就表示纯白色,中间就是处于纯黑色到纯白色的相关颜色。我们还是以丽娜为例。 灰度图像一块像素点:

🌙三、彩色图像(RGB) 计算机中所有的颜色都可以由R(红色通道)、G(绿色通道)、B(蓝色通道)来组成,其中每一个通道都有0-255个像素颜色组成。比如说R=234,G=252,B=4就表示黄色。显示出来的也是黄色。所以说彩色图像由三个面构成,分别对应R,G,B。我们还是以丽娜为例子: 所以说我们就可以知道复杂程度排序的话就是:彩色图像-灰度图像-二值图像。所以我们在进行人脸项目或者是车牌识别项目中最最最常用的操作就是将彩色图像转化为灰度图像,然后将灰度图像转为最简单的二值图像。

☀️四、像素处理操作🌕读取像素

相关函数:返回值=图像(位置参数) 我们先以灰度图像,返回灰度值: p=img[88,142] print§ 这里我们就可以返回图片坐标[88,142]处的灰度值。 然后我们以彩色图像为例子: 我们知道彩色图像由BGR三个通道的值构成。那么我们需要返回三个数值: blue=img[78,125,0] green=img[78,125,1] red=img[78,125,2] print(blue,green,red) 这样我们就返回了这三个数值。

🌕修改像素

直接暴力修改。 对于灰度图像, img[88,99]=255 对于彩色图像, img[88,99,0]=255 img][88,99,1]=255 img[88,99,2]=255这里也可以写成 img[88,99]=[255,255,255]等同于上方。 改动多个像素点 例如还是以彩色图像为例子: i[100:150,100:150]=[255,255,255] 意思也就是将图像横坐标100到150和纵坐标100到150的这个区间全部用白色替代。

🌕使用python中的numpy修改像素点

🌙读取像素 相关函数:返回值=图像.item(位置参数) 我们以灰度图像为例: o=img,item(88,142) print(o) 对于彩色图像我们还是: blue=img.item(88,142,0) green=img.item(88,142,1) red=img.item(88,142,2) 然后print(blue,green,red) 🌙修改像素 图像名.itemset(位置,新的数值) 我们以灰度图像为例子: img.itemset((88,99),255) 对于BGR图像: img.itemset((88,99,0),255) img.itemset((88,99,1),255) img.itemset((88,99,2),255)

import cv2import numpy as np i=cv2.imread('path',cv2.IMREAD_UNCHANGED)print(i.item(100,100))i.itemset((100,100),255)print(i,item(100,100))

通过这段代码我们就可以看得出来像素的更改。 对于彩色图像也是一样。

☀️五、获取图像属性🌕形状

shape可以获取图像的形状,返回值包含行数、列数通道数的元组。 灰度图像返回行数列数 彩色图像返回行数、列数、通道数。

import cv2img1=cv2.imread('灰度图像')print(img1.shape)🌕像素数目

size可以获取图像的像素数目。 灰度图像:行数列数 彩色图像:行数列数*通道数

🌕图像类型

dtype返回的是图像的数据类型

import cv2img=cv2.imread('图像名称')print(img.dtype)☀️六.图像ROI

ROI(region of interest)表示感兴趣区域

从被处理的图像中以方框、圆、椭圆或者不规则多边形等方式勾勒出需要处理的区域。可以通过各种算子(operator)和函数来求ROI,并进行下一步操作。import cv2import numpy as npa=cv2.imread('path')b=np.ones((101,101,3))b=a[220:400,250:350]a[0:101,0:101]=bcv2.imshow('o',a)cv2.waitKey()cv2.destroyAllWindows()

我们还可以将感兴趣的图像加入到别的图像当中。

☀️六、通道的拆分与合并

🌙拆分

import cv2img=cv2.imread('图像名')b = img[ : , : , 0 ]g = img[ : , : , 1 ]r = img[ : , : , 2 ]

我们在OpenCV中有专门拆分通道的函数: cv2.split(img)

import cv2import numpy as npa=cv2.imread("image\lenacolor.png")b,g,r=cv2.split(a)cv2.imshow("B",b)cv2.imshow("G",g)cv2.imshow("R",r)cv2.waitKey()cv2.destroyAllWindows()

🌙合并

import cv2import numpy as npa=cv2.imread("image\lenacolor.png")b,g,r=cv2.split(a)m=cv2.merge([b,g,r])cv2.imshow("merge",m)cv2.waitKey()cv2.destroyAllWindows()

我们将上方的拆分图像进行merge合并就可以得到以下结果:

💐文章适合于所有的相关人士进行学习💐 🍀各位看官看完了之后不要立刻转身呀🍀 🌿期待三连关注小小博主加收藏🌿 🍃小小博主回关快 会给你意想不到的惊喜呀🍃 各位老板动动小手给小弟点赞收藏一下,多多支持是我更新得动力!!!

本文链接地址:https://www.jiuchutong.com/zhishi/299455.html 转载请保留说明!

上一篇:【OpenCV--模板匹配】(opencv模板匹配原理)

下一篇:Vue3 reactive丢失响应式问题(vuex状态丢失)

  • 小型微利企业季度申报
  • 利润表中持续经营净利润公式
  • 大病医疗可以抵扣吗
  • 本期进项税大于销项税
  • 一般纳税人取得普票怎么做账
  • 建设用地规划许可证和建设工程规划许可证的区别
  • 固定资产采用工作量法计提折旧怎么算
  • 顾客抽奖代扣个税账务处理
  • 工信部联企业[2011]300号 小型企业
  • 工程检测费入什么科目
  • 设定提存计划怎么填
  • 出租不动产什么时候交税
  • 一般纳税人出售不动产增值税税率是多少
  • 高铁票财务怎么报销
  • 第三方软件测评费的取费标准
  • 返修产品如何账务处理
  • 为什么Win7电脑开机时会卡在
  • mac怎么禁止开机启动
  • 关闭客户端快捷键
  • 季度所得税计算方法
  • 在win7系统中,添加打印机驱动程序
  • 税务检查所得税调整
  • iphone6s显示4g却无法上网
  • 没有取得发票的支出可以做成本吗
  • 在建工程进项税可以抵扣吗
  • 特许权使用费属于销售收入吗
  • 应税销售额含增值税吗
  • smart控制技术
  • 简述金融会计的主要职能
  • 提前支付的费用记账
  • 技术维护费计入
  • 注意力机制详解
  • 收到债劵利息会减少吗
  • 格林湖人
  • php uasort
  • php 无限级分类
  • yii框架入门
  • 行政单位捐赠会计分录怎么做的
  • php过滤字符
  • python猜数字1到1000代码
  • 试运行收入会计分录
  • 如何区分误餐费和补助费
  • 劳务派遣怎么开
  • 给员工进行拓展活动
  • 捐赠支出汇算清缴需要调增吗
  • 股权投资所得是什么
  • 融资性售后回租承租方为什么不交税
  • 购进材料,已付,材料尚未验收入库
  • 公司买的吃的计入什么科目
  • 员工出差车票属于哪个科目
  • 间接持股比例如何分析
  • 企业发生亏损时,下列各项,( )是弥补亏损的渠道
  • 发票丢失记账联入账
  • 应收账款怎么记录
  • aspnet数据库访问
  • linux中more命令详解
  • STMGR.EXE - STMGR是什么进程
  • inc是什么软件
  • centos如何安装软件
  • win1020h2版好不好
  • win10系统语言包安装方法
  • win10 rs4
  • linux小技巧
  • 第一个安卓项目
  • dos rd命令
  • linux bash中too many arguments问题的解决方法
  • python提供三种基本数值类型
  • js 文件分割
  • Ubuntu修改用户名
  • python中执行linux命令
  • python编码大全
  • unity ti
  • unity引擎叫什么
  • js调用css动画
  • 执法服务不到位
  • 房地产开发商要交哪些税和费用
  • 注册会计师和注册建造师哪个难考
  • 个体户定额纳税
  • 福州水费出账时间
  • 四川地方税务局官网首页
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设