《计算机视觉技术与应用》重点复盘

这篇具有很好参考价值的文章主要介绍了《计算机视觉技术与应用》重点复盘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章目录

《计算机视觉技术与应用》-----第二章 图像处理基础

《计算机视觉技术与应用》-----第三章 图形用户界面

《计算机视觉技术与应用》-----第四章 图像变换

《计算机视觉技术与应用》-----第五章 边缘和轮廓

《计算机视觉技术与应用》-----第六章 边缘和轮廓

《计算机视觉技术与应用》-----第七章 边缘和轮廓

《计算机视觉技术与应用》----- 重点复盘



前言


一、重点掌握

填空(15个题),判断(10个题),简答(1个题)共60分。

第一章 OpenCV起步

  • 安装Numpy命令是pip install Numpy

第二章 图像处理基础

  • 在Python程序中,OpenCV使用NumPy数组来存储图像。 OpenCV默认的图像格式为BGR,即3通道图像数组的3个维度依次为B(蓝色)、G(绿色)和R(红色)通道的像素。
  • 使用zeros()函数创建数组,数组元素默认值是0
  • img.shape的输出结果为(512,512,3),说明表示彩色图像的一个三维数组,3个值依次表示图像的高度、宽度和通道数;图像的分辨率为512x512
  • OpenCV播放视频的实质是逐读取和显示图像。 通常,计算机将灰度处理为256级,0表示黑色255表示白色。
    cv2.split()函数用于拆分通道。

第三章 图形用户界面

  • 绘制矩形的函数是cv2.rectangle() ,绘制圆的函数是cv2.circle()
  • 绘制椭圆的函数是cv2.ellipse()
  • 绘制文本的函数是cv2.putText()

第四章 图像变换

  • cv2.COLOR_BGR2RGB:将BGR色彩空间转换为RGB色彩空间。
  • GRAY色彩空间通常指8位灰度图像,其颜色取值范围是**[0,256]** 。
  • YCrCb色彩空间用亮度Y、红色Cr和蓝色Cb表示图像。
  • 图像翻转函数是cv2.flip()
  • HSV色彩空间使用色调、饱和度和亮度表示图像。
  • 仿射变换包含了平移、旋转、缩放等操作。
  • 图像模糊主要目的是消除图像噪声和边缘。
  • 均值滤波是指以当前点为中心,用其周围N x N个点像素值的平均值代替当前点的像素值。
  • 中值滤波是取中间值作为邻域中心点的像素值。
  • 开运算先将图像执行腐蚀操作,再对腐蚀结果执行膨胀操作。

第五章 边缘和轮廓

  • 图像的边缘是指图像中灰度值发生急剧变化的位置,边缘检测的目的是为了绘制出边缘线条
  • 边缘检测的结果通常为黑白图像,图像中的白色线条表示边缘

第六章 直方图

  • 直方图横坐标表示图像像素的灰度级,纵坐标表示像素灰度级的数量。
  • 二维直方图统计像素的色相饱和度,用于查找图像的颜色直方图。

第七章 模版匹配和图像分割

  • 模板匹配是指在当前图像中查找与目标图像相近的部分。图像分割是指将前景对象从图像中分割或提取出来。
  • 单目标匹配是指输入图像中只存在一个可能匹配结果

第八章 特征检测

  • ORB特征检测以FAST特征检测器和BRIEF描述符为基础进行了改进,以获得更好的特征检测性能。
    FAST特征检测器主要根据像素周围16个像素的强度和阈值参数来判断像素是否为关键点。

二、编程题

两个编程题,共40分。

第二章习题

《计算机视觉技术与应用》重点复盘


```python
#习题2-1.py:创建一幅大小为240×320的图像,图像中心是一个大小为100×100的红色正方形,周围是黑色

import cv2
import numpy
img = numpy.zeros((240,320,3),dtype=numpy.uint8) #创建黑色背景
img[70:170,110:210,2]=255  #创建红色区域(100*100)
cv2.imshow('xiti2-1',img)
cv2.waitKey(0)
#习题2-2.py:选择一幅彩色图像,完成下列操作:
#(1)将图像转换为灰度图像显示。
#(2)将图像尺寸减小为原来的1/2显示。
import cv2
img=cv2.imread('lena.jpg',cv2.IMREAD_GRAYSCALE)#(1)将彩色图像转换为灰度图像
cv2.imshow('GRASCALE',img)
img=cv2.imread('lena.jpg',cv2.IMREAD_REDUCED_COLOR_2)#(2)将图像尺寸缩小为原来的1/2
cv2.imshow('COLOR_2',img)
cv2.waitKey(0)
cv2.waitKey(0)
#习题2-3.py:选择一幅彩色图像,通过像素更改,在图像中显示一个大小为80×100的黑色正方形。
import cv2
img=cv2.imread('lena.jpg')
h,w,s=img.shape  #得到原图的高宽通道
h1=int(h/2)  #获取原图高度的一半,并且强制转换为int
w1=int(w/2)
img[h1-40:h1+40,w1-50:w1+50,:]=0  #也可以直接通过像素区域打码 在img中 img[::]=255
cv2.imshow('xiugai',img)
cv2.waitKey(0)
#习题2-4.py:选择一幅彩色图像,分别显示其B、G、R通道图像。
import cv2
img = cv2.imread('lena.jpg')
cv2.imshow('lena',img)
b,g,r=cv2.split(img)#重点
cv2.imshow('lena-b',b)
cv2.imshow('lena-g',g)
cv2.imshow('lena-r',r)
cv2.waitKey(0)
#习题2-5.py:选择一幅彩色图像,用NumPy数组创建掩模,在图像中心取出大小为80×120的图像。
import cv2
import numpy
src1 = cv2.imread('lena.jpg')
h,w,s=src1.shape
img = numpy.zeros((h,w,s),dtype=numpy.uint8) #创建黑色背景
h1=int(h/2)
w1=int(w/2)
img[h1-40:h1+40,w1-60:w1+60,:]=255
img2=cv2.bitwise_and(src1,img) #题目要求是用Numpy数组创建掩膜的方式打码 img[10:90,20:120,:]=255
cv2.imshow('yanmo',img2)
cv2.waitKey(0)

第五章习题

《计算机视觉技术与应用》重点复盘文章来源地址https://www.toymoban.com/news/detail-402756.html

#习题5-1 选择一幅图像,对其执行Laplacian边缘检测
import cv2
img = cv2.imread('bee.jpg')
cv2.imshow('original',img)
#Laplacian边缘检测
img2 = cv2.Laplacian(img,cv2.CV_8U,ksize=1)
cv2.imshow('L',img2)
cv2.waitKey(0)
#习题5-2 选择一幅图像,对其执行Sobel边缘检测
import cv2
img = cv2.imread('bee.jpg')
cv2.imshow('original',img)
#Sobel边缘检测
img3 = cv2.Sobel(img,cv2.CV_8U,0,1) #0表示对x不求偏导,1表示对y偏导 dx>=0 && dy>=0 && dx+dy>0
cv2.imshow('C',img3)
cv2.waitKey(0)


#习题5-3 选择一幅图像,对其执行Canny边缘检测
import cv2
img = cv2.imread('bee.jpg')
cv2.imshow('original',img)
#Canny边缘检测
img4 = cv2.Canny(img,100,200,apertureSize=3)
cv2.imshow('Canny',img4)
cv2.waitKey(0)
#test5-4.py:查找和绘制轮廓
#先查找后绘制,前7行代码与查找轮廓代码一致
import cv2
import numpy as np
img=cv2.imread('shapes.jpg')        #读取图像
cv2.imshow('original',img)  	    #显示原图像
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#转化为灰度图像
ret,img2=cv2.threshold(gray,125,255,cv2.THRESH_BINARY)#二值化阈值处理
c,h=cv2.findContours(img2,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) 
img3=np.zeros(img.shape, np.uint8)+255 	    #按原图大小创建一幅白色图像
#image=cv2.drawContours(image,contours,contourIdx,color,thickness)
#image:原图
#contours为要绘制的轮廓
img3=cv2.drawContours(img3,c,-1,(0,0,255),2)    #绘制轮廓 -1表示绘制所有轮廓
cv2.imshow('Contours',img3)  	                #显示轮廓图像
cv2.waitKey(0)                                  #按任意键结束等待
cv2.destroyAllWindows()                         #关闭所有窗口

总结

到了这里,关于《计算机视觉技术与应用》重点复盘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于深度学习的计算机视觉:应用于智能检测和识别的新技术

    作者:禅与计算机程序设计艺术 目前,深度学习技术在图像处理、目标检测、对象识别等领域已经取得了显著的进步。随着大数据的产生、深度神经网络的不断提升,计算机视觉领域也成为自然界图像理解的一项热门研究方向。近年来,基于深度学习的卷积神经网络(CNN)在

    2024年02月06日
    浏览(56)
  • 图像识别和计算机视觉:如何应用人工智能技术实现自动化检测和识别

      在数字化时代,图像数据成为了我们日常生活中不可或缺的一部分。然而,随着图像数据的急剧增加,传统的手动处理和分析方法已经无法满足我们的需求。这就引出了图像识别和计算机视觉技术的重要性。本文将介绍人工智能技术在图像识别和计算机视觉领域的应用,以

    2024年02月05日
    浏览(86)
  • 高动态范围(HDR)成像技术学习与低保真度图像合成(LOFIC)在计算机视觉中的应用

    在计算机视觉领域,高动态范围(HDR)成像技术和低保真度图像合成(LOFIC)是两个重要的概念。HDR成像技术可以捕获和显示比传统图像更广泛动态范围的图像,而LOFIC则是一种通过合成低保真度图像来进行图像增强的方法。本文将介绍这两种技术的基本原理,并提供相应的源

    2024年01月25日
    浏览(57)
  • 【计算机视觉】YOLOv8参数详解(全面详细、重点突出、大白话阐述小白也能看懂)

    comments description keywords true Master YOLOv8 settings and hyperparameters for improved model performance. Learn to use YOLO CLI commands, adjust training settings, and optimize YOLO tasks modes. YOLOv8, settings, hyperparameters, YOLO CLI commands, YOLO tasks, YOLO modes, Ultralytics documentation, model optimization, YOLOv8 training YOLO 设置和超参数

    2024年02月05日
    浏览(47)
  • 计算机视觉(P2)-计算机视觉任务和应用

    在本文中,我们将探讨主要的计算机视觉任务以及每个任务最流行的应用程序。         图像分类是计算机视觉领域的主要任务之一[1]。在该任务中,经过训练的模型根据预定义的类集为图像分配特定的类。下图是著名的CIFAR-10数据集[1],它由十个类别的8000万张图像组成

    2024年02月02日
    浏览(73)
  • 什么是计算机视觉,计算机视觉的主要任务及应用

    目录 1. 什么是计算机视觉 2. 计算机视觉的主要任务及应用 2.1 图像分类 2.1.1 图像分类的主要流程 2.2 目标检测 2.2.1 目标检测的主要流程 2.3 图像分割 2.3.1 图像分割的主要流程 2.4 人脸识别 2.4.1 人脸识别的主要流程 对于我们人类来说,要想认出身边的一个人,首先需要

    2024年02月11日
    浏览(46)
  • 计算机视觉的实际应用:计算机视觉在实际应用中的成功案例

    计算机视觉(Computer Vision)是一种利用计算机解析、理解并从图像中抽取信息的技术。它是一种跨学科的研究领域,涉及到计算机科学、数学、物理、生物学、心理学等多个领域的知识和技术。计算机视觉的应用范围广泛,包括图像处理、图像识别、机器人视觉、自动驾驶等

    2024年01月23日
    浏览(54)
  • 【计算机视觉】基于OpenCV计算机视觉的摄像头测距技术设计与实现

    在当今技术日益进步的时代,计算机视觉已成为我们生活中不可或缺的一部分。从智能监控到虚拟现实,计算机视觉技术的应用范围日益广泛。在这篇博客中,我们将探索一个特别实用的计算机视觉案例:使用OpenCV实现摄像头测距。这一技术不仅对专业人士有用,也为编程爱

    2024年02月04日
    浏览(54)
  • 计算机视觉:填充(padding)技术

    在前面的课程中,我们学习了使用3*3的过滤器去卷积一个5*5的图像,那么最终会得到一个3*3的输出。那是因为 3×3 过滤器在 5×5 矩阵中,只可能有 3×3 种可能的位置。 这背后的数学解释是,如果我们有一个n × n的图像,用f×f的过滤器做卷积,那么输出的维度就是 (n−f+1)×(

    2024年02月07日
    浏览(48)
  • 【计算机视觉】Visual grounding系列

    Visual grounding涉及计算机视觉和自然语言处理两个模态。 简要来说,输入是图片(image)和对应的物体描述(sentencecaptiondescription),输出是描述物体的box。 听上去和目标检测非常类似,区别在于输入多了语言信息,在对物体进行定位时,要先对语言模态的输入进行理解,并

    2024年02月10日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包