位置: IT常识 - 正文

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

发布时间:2024-01-17
计算机视觉-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状态丢失)

  • 智能收款云音箱怎么连接手机(智能收款云音箱怎么使用)

    智能收款云音箱怎么连接手机(智能收款云音箱怎么使用)

  • 微信拍一拍怎么设置文字拍别人(微信拍一拍怎么取消这个功能)

    微信拍一拍怎么设置文字拍别人(微信拍一拍怎么取消这个功能)

  • 拼多多怎么退货(拼多多怎么退货寄回去步骤)

    拼多多怎么退货(拼多多怎么退货寄回去步骤)

  • 华为nova7在哪里插耳机(华为nova7在哪里看型号)

    华为nova7在哪里插耳机(华为nova7在哪里看型号)

  • 微信附近人为什么不能看到自己(微信附近人为什么打招呼别人收不到)

    微信附近人为什么不能看到自己(微信附近人为什么打招呼别人收不到)

  • 回收站占内存吗(百度网盘回收站占内存吗)

    回收站占内存吗(百度网盘回收站占内存吗)

  • qq群投票看结果必须先投票吗(qq群投票结果如何不显示)

    qq群投票看结果必须先投票吗(qq群投票结果如何不显示)

  • 微信pc版安装到手机(微信pc端安装包)

    微信pc版安装到手机(微信pc端安装包)

  • 940m相当于什么显卡(940m 950m差多少)

    940m相当于什么显卡(940m 950m差多少)

  • 退回的红包可以看到金额吗(退回去的红包还能收回来吗)

    退回的红包可以看到金额吗(退回去的红包还能收回来吗)

  • 淘宝不点确认收货,多少天自动收款(淘宝不点确认收货)

    淘宝不点确认收货,多少天自动收款(淘宝不点确认收货)

  • qq加群怎么加不进来(qq加群为什么加不进去)

    qq加群怎么加不进来(qq加群为什么加不进去)

  • 抖音内容违规怎么处理(抖音内容违规怎么处理?)

    抖音内容违规怎么处理(抖音内容违规怎么处理?)

  • iphone8可以拍虚化吗(iphone8如何拍出虚化)

    iphone8可以拍虚化吗(iphone8如何拍出虚化)

  • Reno Ace怎么关闭应用通知(opporenoace游戏模式怎么关闭)

    Reno Ace怎么关闭应用通知(opporenoace游戏模式怎么关闭)

  • 华为荣耀7怎么插手机卡(华为荣耀7怎么取卡)

    华为荣耀7怎么插手机卡(华为荣耀7怎么取卡)

  • 华为m6平行视界怎么用(华为m6平行视界应用app)

    华为m6平行视界怎么用(华为m6平行视界应用app)

  • wps怎么导出word文档(wps怎么导出word里的图片)

    wps怎么导出word文档(wps怎么导出word里的图片)

  • 怎么在手机日历上标记(怎么在手机日历里面做标记)

    怎么在手机日历上标记(怎么在手机日历里面做标记)

  • 淘集集退款能到账吗(淘集集怎么填写退货单号)

    淘集集退款能到账吗(淘集集怎么填写退货单号)

  • 小米碎屏险如何查询(小米碎屏险如何理赔)

    小米碎屏险如何查询(小米碎屏险如何理赔)

  • 安卓手机怎么连接电视(安卓手机怎么连接电脑)

    安卓手机怎么连接电视(安卓手机怎么连接电脑)

  • 苏黎世湖岸边的室外游泳池,瑞士 (© Amazing Aerial Agency/Offset by Shutterstock)(苏黎世湖天鹅)

    苏黎世湖岸边的室外游泳池,瑞士 (© Amazing Aerial Agency/Offset by Shutterstock)(苏黎世湖天鹅)

  • 【小程序从0到1】网络数据请求——request合法域名|GET|POST|跨域?Ajax?(小程序从入门到精通)

    【小程序从0到1】网络数据请求——request合法域名|GET|POST|跨域?Ajax?(小程序从入门到精通)

  • 汇算清缴要调整会计分录吗
  • 按月支付劳务费开发票
  • 差额征税是什么时候出现的
  • 预缴企业所得税分录
  • 新设备试运行时间
  • 房产证印花税如何计算
  • 出口报关单上的运费和保费和实际不一致
  • 开公司财务流程
  • 生产车间计提固定资产折旧会计科目
  • 产品因质量问题造成损害的,应当承担责任的主体是
  • 代销产品缴纳增值税吗
  • 税务大厅补报个税怎样申报
  • 企业给员工购买的团体意外险的被保险人一般是
  • 个人去税务局开票流程
  • 公司没有员工需要缴纳社保吗
  • 免税企业收到的专用发票要怎么转出
  • 个人所得税深圳税务
  • 别人帮我们公司代定机票怎么做账
  • 小型纳税人个人所得税
  • 软件产品加安装是混合销售吗?
  • 外籍人士可以回国吗
  • 允许扣除的土地价款怎么计算例题
  • vue使用方法
  • 默认网关不可用怎么修复
  • 土地增值税清算收入如何确定
  • from origin ‘null‘ has been blocked by CORS policy: Cross origin requests are only supported for ...
  • 银行借款利息支出计入什么科目
  • hpzts04.exe是什么进程 有什么作用 hpzts04进程查询
  • 目标检测如何入门
  • 如何修改家里的wifi密码
  • 应纳税所得额准予扣除的有
  • 经营性存款人违反规定
  • PHP中empty,isset,is_null用法和区别
  • 猿起信息科技有限公司官网
  • mask rcnn优点
  • 商贸公司如何结转销售成本
  • 认证系统维护费怎么算
  • 劳务派遣服务是收派服务吗
  • 帝国cms调用api接口
  • 进项税额已经抵扣
  • 补计提工资什么意思
  • 土地增值税扣除项目20%
  • 开公司抬头的发票需要提供什么
  • sql server2005怎么打开
  • 实收资本与资本公积之和小于实收资本
  • 行政机关现金管理办法
  • 如何区分借贷方和负债方
  • 确认应付职工薪酬是什么意思
  • 新会计准则适用企业
  • 辅助核算设置后使用后还可以随时修改
  • 质保金可以先不开票吗
  • 公司向个人借款利息可以税前扣除吗
  • 设备丢失查找
  • 分公司独立核算和非独立核算哪个好
  • 一个身份证可以实名几个qq
  • 房地产开发企业增值税税率
  • 10分钟学会
  • win1020h2累积更新
  • 苹果mac 最新系统
  • win7访问共享文件
  • 关于windows的说法正确的是
  • win7系统如何关闭开机自动启动软件
  • win8系统开启摄像头权限
  • win8的开始和运行在哪儿
  • 详细分析我国针对疫情的国防动员举措
  • unity3d游戏引擎支持几种平台发布?
  • android fragmentation
  • mysql命令备份数据库
  • 大家看的是什么
  • jquery设置禁用
  • Using Django with GAE Python 后台抓取多个网站的页面全文
  • js canvas绘制图片
  • 一个超简单的纸飞机
  • python类中的函数必须加self吗
  • JQuery绑定事件的函数是
  • jquery入口
  • 美国税务制度
  • 深圳市国家税务局赵雨婷
  • 企业自建房如何缴税
  • 年度汇算清缴计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号