OpenCV python(一):安装 && 获取、显示、保存图像

这篇具有很好参考价值的文章主要介绍了OpenCV python(一):安装 && 获取、显示、保存图像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装opencv-python

opencv-python是包含了基本使用函数的opencv库,而opencv-contrib-python则是包含了其他一些图像处理算法函数的opencv扩展库。

同时按下win和R键,并输入打开cmd,使用如下pip命令安装opencv-python。

1、安装opencv-python

pip install opencv-python

2、安装opencv-contrib-python

要注意的是安装opencv-contrib-python需要与opencv-python版本保持一致,可在下述命令后面加上 ==版本号 ,以此保持版本一致。查看opencv-python版本可使用pip list的方法,下文第3步会介绍到。

pip install opencv-contrib-python
指定安装版本:
pip install opencv-contrib-python==对应的版本号

3、查看版本号并确认安装成功

使用pip list可查询到安装的python库,会携带其对应的版本号。

pip list

如下图所示。
OpenCV python(一):安装 && 获取、显示、保存图像
确认是否安装成功:

1、在cmd中输入python
2、import cv2

如下图所示,导入cv库后不会报错即表示opencv-python安装成功。
OpenCV python(一):安装 && 获取、显示、保存图像

二、获取并显示图像

1、对应函数解析

1、img = cv2.imread('xx.jpg', 0)	#导入图像(图像路径,读取图像类型)
'''
	图像类型如下所示:
	cv2.IMREAD_COLOR / 1	# 彩色图
	cv2.IMREAD_GRAYSCALE / 0	# 灰度图
'''
2、video = cv2.VideoCapture(0)		
	#选择视频或摄像头:()中 0 表示第一个摄像头,也可写入视频路径
3、ret, img = video.read()	
	# 获取摄像头或视频的一帧,ret判断获取是否成功,成功则为True;img为获取的图像
4、cv2.imshow('img', img)	#显示图像(显示名称,显示对象)
5、cv2.waitKey(1)	#等待时间ms(可实现键操作,下文将会介绍)
6、cv2.imwrite('xx.jpg', img)	#保存(保存文件名,保存对象)
7、cv2.VideoCapture.isOpened()		#判断摄像头能否打开,第3个函数的ret也可实现此功能

以下是我平时需要用到opencv时的初始代码框架中的一部分,即获取图像,显示图像,判断摄像头是否开启等基本操作。分为使用摄像头或视频获取图像和单纯导入图像。

2、摄像头或视频获取图像

import cv2  # 导入opencv库

if __name__ == '__main__':
    video = cv2.VideoCapture(0)  # 选择摄像头0、1... 或 选择视频路径
    while True:
        ret, img = video.read()
        # 获取摄像头或视频的一帧,ret判断获取是否成功,成功则为True;img为获取的图像
        if ret:
            cv2.imshow("img", img)  # 显示图像(显示名称,显示对象)
            cv2.waitKey(1)  # 等待时间
        else:
            # print("摄像头未打开。")
            pass    # 图像获取失败,可能未接入摄像头
            

3、直接导入图像

import cv2  # 导入opencv库

if __name__ == '__main__':
    while True:
        img_RGB = cv2.imread('img/0.jpg', 1)    # 获取路径img/0.jpg的图像,图像类型为RGB图像
        img_g = cv2.imread('img/0.jpg', 0)  # 获取路径img/0.jpg的图像,图像类型为灰度图

        '''
        # 此处为改变图像大小,在此处使用是为了演示方便,为图像预处理阶段,与获取图像无关
        img_RGB = cv2.resize(img_RGB, (0, 0), fx=0.5, fy=0.5)  # 改变图像shape
        img_g = cv2.resize(img_g, (0, 0), fx=0.5, fy=0.5)  # 改变图像shape
        '''

        cv2.imshow("RGB", img_RGB)  # 显示彩图
        cv2.imshow("gray", img_g)  # 显示灰度图
        cv2.waitKey(1)  # 等待时间
        

效果如下图所示:
OpenCV python(一):安装 && 获取、显示、保存图像

4、cv2.waitKey()

关于这个opencv的等待函数,其括号内为等待时间,单位为ms,可获取其返回值并进行其他操作。

(1)、用在退出循环上

如下所示:

key = cv2.waitKey(1)
if key & 0xff == 27:	# 27为ESC,可查看ASCII表
	break
(2)、用在图像采集保存上

如下所示:

key = cv2.waitKey(1)
if key & 0xff == 105:	# 105为字母i,可查看ASCII表
	cv2.imwrite("0.jpg", img)	# 保存图像
	number += 1

或:

key = cv2.waitKey(1)
if key == ord('i'):		# 判断字母i
	cv2.imwrite("0.jpg", img)	# 保存图像
	number += 1

关于上述的ASCII码,进入此链接并下拉后可看到ASCII表,对应表上的十进制数即可查询:ASCII表链接
图像采集例程如下:

import cv2  # 导入opencv库

number = 0

if __name__ == '__main__':
    video = cv2.VideoCapture(0)  # 选择摄像头0、1... 或 选择视频路径
    while True:
        ret, img = video.read()
        # 获取摄像头或视频的一帧,ret判断获取是否成功,成功则为True;img为获取的图像
        if ret:
            cv2.imshow("img", img)  # 显示图像(显示名称,显示对象)
            key = cv2.waitKey(1)  # 等待时间,输入'0'表示任意键终止
            if key & 0xff == 105:	# 105为字母i,可查看ASCII表
                cv2.imwrite("data/%d.jpg" % number, img)
                	# 保存图像至data文件夹,名字按先后采集顺序从0开始递增
                number += 1
        else:
            # print("摄像头未打开。")
            pass    # 图像获取失败,可能未接入摄像头
            

本人是一名学生,目前正在学习中,本篇文章也算是我的学习笔记,如有错误的话还请指正。文章来源地址https://www.toymoban.com/news/detail-446188.html

到了这里,关于OpenCV python(一):安装 && 获取、显示、保存图像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【课程介绍】OpenCV 基础入门教程:图像读取、显示、保存,图像处理和增强(如滤波、边缘检测、图像变换),特征提取和匹配,目标检测和跟踪

    [ 专栏推荐 ] 😃 《视觉探索: OpenCV 基础入门教程》 😄 ❤️【简介】: Opencv 入门课程适合初学者,旨在介绍 Opencv 库的基础知识和核心功能。课程包括图像读取、显示、保存,图像处理和增强(如滤波、边缘检测、图像变换),特征提取和匹配,目标检测和跟踪等内容。学

    2024年02月16日
    浏览(318)
  • 《数字图像处理-OpenCV/Python》连载(4)图像的读取与保存

    本书京东优惠购书链接:https://item.jd.com/14098452.html 本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html 为了方便初学者从零开始学习OpenCV-Python,本书从图像的读取、保存和显示等基本操作开始介绍,使读者可以循序渐进地使用和理解本书的每一个例程。 本章内容

    2024年02月09日
    浏览(57)
  • Python|OpenCV-读取视频,显示视频并保存视频(3)

    前言 本文是该专栏的第3篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在使用OpenCV处理视频的时候,不论是摄像头画面还是视频文件,通常情况下都要使用VideoCapture类来进行每一帧图像的处理。对于OpenCV而言,只要使用视频文件作为参数,它就可以打开视频文

    2024年02月11日
    浏览(41)
  • (P4)Python plt显示和保存图像(cv2、Image)

    对这篇博客内容的最最简要的总结,便于快速抓要点 以下是一张图中包含多张小图 的三种不同写法的汇总和拆解。 汇总 ⭐ 写法一 写法二 写法三 已知的读取图片方式有两种:cv2、Image,初略讲解如下,有需要更多讲解的再单独整合。 写法一 cv2 参考资料 opencv 因为历史原因

    2024年01月24日
    浏览(59)
  • OpenCV中读取、显示、保存摄像头视频讲解与实战(附Python源码)

    需要源码请点赞关注收藏后评论区留言私信~~~ OpenCV不仅能够处理图像,还能够处理视频。视频是由大量的图像构成的,这些图像以固定的时间间隔从视频中获取。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要处理视频,需要先对视频进

    2024年02月05日
    浏览(48)
  • PYTHON+YOLOV5+OPENCV,实现数字仪表自动读数,并将读数结果进行输出显示和保存

    最近完成了一个项目,利用python+yolov5实现数字仪表的自动读数,并将读数结果进行输出和保存,现在完成的7788了,写个文档记录一下, 若需要数据集和源代码可以私信。 最后实现的结果如下: 首先查阅文献和文档,好家伙,不看不知道,做相似项目的很多资料都是硕士研

    2024年02月03日
    浏览(50)
  • python中图片读取和保存以及plt.imshow()与cv2.imshow()显示图像颜色错误解决方案

    最近调试程序的时候,发现要保存的图片颜色与原图片有色差(显示图像变蓝),郁闷良久,终于发现问题,望诸君避坑。 🧸在用plt.imshow和cv2.imshow显示同一幅图时可能会出现颜色差别很大的现象。 🎯原因:opencv的接口使用BGR,而matplotlib.pyplot 则是RGB模式。 单独使用图像是

    2024年02月11日
    浏览(45)
  • OpenCV Python – 如何在图像上显示点击点的坐标?

    OpenCV为我们提供不同类型的鼠标事件,包括左键或右键单击、鼠标移动、左键双击等。鼠标事件返回鼠标事件的坐标(x,y)。为了在事件发生时执行一个操作,我们定义一个鼠标回调函数。我们使用左键单击(cv2.EVENT_LBUTTONDOWN)和右键单击(cv2.EVENT_RBUTTONDOWN)来显示在图像上单击的点

    2024年02月06日
    浏览(36)
  • C++&Python&C# 三语言OpenCV从零开发(3):图像读取和显示

    C++PythonCsharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程(附带课程课件资料+课件笔记) OpenCV4 C++ 快速入门视频30讲 - 系列合集 OpenCV4 C++ 课程笔记 在上一章纠结过教程的选择之后,还是觉得老老实实从零开始学OpenCV,从OpenCV C++视频教程开始。 这

    2024年01月21日
    浏览(57)
  • opencv-python读取的图像分辨率太大不能完全显示

    如果使用OpenCV-Python读取的图像分辨率太大,无法完全显示在屏幕上,可以考虑以下几种方法: 1.缩放图像:使用OpenCV的resize函数,将图像缩小到适合屏幕显示的大小。例如,可以将图像的宽度和高度都缩小到屏幕宽度和高度的一半。 2.平移图像:如果只是图像的一部分超出了

    2024年02月03日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包