位置: 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状态丢失)

  • 消费税征收范围包括
  • 会计凭证辅助项
  • 银行代发工资户允许有余额吗
  • 运输发票抵扣进项税率
  • 小微企业增值税优惠政策最新2023
  • 累计折旧计入
  • 利润分配未分配利润借贷方表示什么
  • 企业注销了,报表的银行存款还有余额
  • 设备折旧费用的作用
  • 去年已认证发票红冲怎么报税
  • 预付款保函履约保函
  • 境外劳务输出有哪些类型
  • 企业进货不收发票怎么做帐?
  • 2020退税时间超过了怎么办
  • 广告制作费有哪些项目
  • 增值税税负率是按年算吗
  • 临时工工资个税怎么算
  • 应交税费未交增值税是什么意思
  • 开具红字专用发票要求
  • 增值税当月计提当月交可以吗
  • 一般企业可以开检测费吗
  • 软件外包付款流程
  • 如何使用ping命令诊断网络故障
  • 如何修改鼠标指示灯颜色
  • 公司收到个人的款怎么做账务处理
  • 预缴增值税会计处理
  • 如何使用windows的记事本创建文件
  • php数组函数题目
  • 房地产开发企业销售自行开发的房地产项目
  • 享受小型微利企业税收优惠的条件
  • 天猫提现到对公账户怎么做账
  • php+jQuery+Ajax简单实现页面异步刷新
  • 苗木增值税税率
  • 筹办分公司
  • 支付贷款利息属于筹资活动吗
  • 会计分录格式范本手写
  • DedeCMS V5.7 SP2前台文件上传漏洞
  • 跨国公司海外子公司
  • 怎么开电子专用增值税发票
  • 在建工程过程中取得收入怎么入账
  • 对于企业处理废水的建议
  • 应收票据和其他应收款的区别
  • sql server 2008 备份
  • mysql 速度慢
  • 保险车辆理赔入账流程
  • 纳税申报表期末未缴税额什么意思
  • 购买仓库计入什么科目
  • 变动成本法的计算步骤
  • 承包经营所得个人所得税计算举例
  • 单位缴纳工会经费有什么用
  • 期末结转生产成本的账户
  • 基本户怎么提现金
  • 承兑个人贴现如何操作
  • 编程经验点滴怎么写
  • 电脑开机一直显示windowsxp
  • mac系统自带的杀毒软件
  • vm虚拟机中的网络设置怎么添加
  • Win7 64位系统声卡重装过程中出现失败的解决方法
  • winproj.exe - winproj进程是什么意思
  • linux电子邮件
  • win7玩不了cf
  • linux 如何
  • windows7中彻底删除文件的操作
  • win8玩游戏
  • 小地图的主要作用是观察队友的大概位置
  • 递归怎么调用
  • unity3d官方教程
  • android判断横竖屏
  • 用jquery实现全选
  • python里!
  • unity怎么把文件导入项目
  • unity延迟执行方法
  • 举例详解民法典第994条
  • 轻轻松松学习JavaScript
  • bootstrap要学到什么程度
  • 税务局与稽查局哪个好
  • 甘肃增值税发票查验平台官网
  • 个体户定额怎么查询
  • 拆迁房抵税政策
  • 盐城滨海人口
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设