• python+OpenCV笔记(1)——图像视频的解释、读取、显示、保存以及截取部分图像


    python+OpenCV的图像基本操作

    一、计算机如何识别图像

    不知道大家有没有感觉,有时在手机上看到的图片有很多小点,图像不够清晰;或者把图片放大,你会发现越放大,也会看到很多小点。

    我们先看一张彩色图像,这是一张路飞的图片:

    原因是:

    一张出现在屏幕上的图片是由无数个像素点组成的,分辨率越高,图片越不清晰,分辨率越低,图片越清晰。

    无数个小点放在同一个平面上机会组成一幅我们所看到的图像。

    计算机十九通过这些像素点来识别不同的图像,像素点的值在0到255之间。像素点越大,图片就越亮;像素点越小,图片就越暗。

    如何识别彩色和黑色图片:

    一张彩色的图片是有颜色通道的,由红色(R)、绿色(G)、蓝色(B)组成。

    所以一张黑白图是没有颜色通道的。

    二、图片的读取与显示

    1 #所需要的库
    2 import cv2 as cv
    3 import matplotlib.pyplot as plt
    1 #读取图片cv2.imread("图片路径")
    2 img=cv.imread('lufei.jpg')
    1 #图像的显示  cv2.imshow(图片展示窗口的名字,设置的读取的图像的参数)
    2 cv.imshow("image",img)
    3 #等待时间,以毫秒为单位,若将代码中的0改为1000,图像显示1s就会自动退出窗口
    4 # 0代表任意键退出窗口
    5 cv.waitKey(0)
    6 cv.destroyAllWindows()

    代码中写有详细解释,请仔细阅读

    运行代码出来的结果:

     

    若需要写很多图像的项目时,可将显示的代码放在一个函数中,便于调用:

    1 def cv_show(name,img):
    2     cv.imshow(name,img)
    3     cv.waitKey(0)
    4     cv.destroyAllWindows()

     三、视频的读取与显示

    视频是由一张一张图片组成的,所以读取视频就相当于读取很多张图片,然后将其连起来

    cv2.VideoCapture可以捕获摄像头,用数字控制不同的设备,如果是视频文件,直接写好视频路径就好。

    1 #读取视频文件
    2 video=cv.VideoCapture("iu1.mp4")
    1 #判断是否成功读取
    2 if video.isOpened():
    3     open,frame=video.read()
    4 else:
    5     open=False
     1 #利用while循环一帧一帧的对视频进行读取
     2 while open:
     3     ret,frame=video.read()
     4     if frame is None:
     5         break
     6     if ret ==True:
     7         #转换每一帧的颜色,这里是将每一帧装为灰度图
     8         gray=cv.cvtColor(frame,cv.COLOR_BGR2GRAY)
     9         cv.imshow("iu1new.mp4",gray)
    10         #每一帧等待时间
    11         if cv.waitKey(10)  %0xFF==27:
    12             break
    13 video.release()
    14 cv.destroyAllWindows()

    运行结果就不展示出来了,大家可以找一个视频去运行代码试试。

     四、部分图像的截取

    cv_show()函数是自己编写用于显示图片的函数,代码已经放在第一部分了。

    img[h,w]表示图像的高度和宽度。

    1 img=cv.imread("lufei.jpg")
    2 lufei=img[0:200,0:200]
    3 cv_show("lufei",lufei)

    运行结果:

  • 相关阅读:
    手工杀毒笔记
    中国黑客名单
    SQL Server 2005 数据库知识大全
    sql server和oracle行转列的一种典型方法
    <h1><span>标签在SEO中的作用及用法
    传说能加快vs编译速度(vs2008+cf3.5)
    WPF版调色器
    SQL经典案例
    Silverlight 2 相关文章汇总
    国内一些黑客高手的联系方式
  • 原文地址:https://www.cnblogs.com/cyt99/p/12427537.html
Copyright © 2020-2023  润新知