opencv-python图像处理安装与基本操作方法

目录
  • 一、安装opencv
  • 二、 opencv使用

一、安装opencv

关于opencv的安装,如果是windows系统下使用pycharm,那么直接在在终端使用pip命令或者点击设置-python解释器输入opencv-python即可

如果使用的是conda,那也可以使用pip命令或者conda install 安装
在linux下的话更加简单。而且也会少很多无缘无故的bug,推荐使用linux系统。linux下使用终端输入pip或者pip3 install opencv-python即可,前提是已经安装了python并且设置好了路径变量。

二、 opencv使用

想要使用opencv,必须在代码开头导入opencv的包,这里和安装时候的名字不一样,使用命令:
import cv2
导入包。并且需要安装matplotlib和numpy。
1、 图片的读取

img = cv2.imread("car_green.jpg")

括号内是图片文件的名字,如果代码与图片在同一目录下可以这样做,但是如果不在同一目录下,就需要包含图片文件的完整路径。使用该语句读取图片,将会返回一个ndarray类型的矩阵(行数,列数,通道数)
显示刚才读取的图片:
注意:opencv读取到的图片格式为BGR格式。

cv2.imshow("name", img)
# 等待时间, 毫秒级, 0表示任意键终止
cv2.waitKey(0)

2、获取摄像头的视频流

def video_get():
    capture = cv.VideoCapture(0)
    # 保存视频流的每一帧
    while True:
        ret, frame = capture.read()
        # 翻转图像,原图像是左右颠倒的
        frame = cv.flip(frame, 1)
        cv.imshow("video", frame)
        c = cv.waitKey(50)
        if c == 27:
            break

3、保存获取到的图像

cv.imwrite(想要保存的文件路径, 图像文件)

4、灰度图转化
读取时直接读取为灰度图:

img = cv2.imread(path, cv.IMREAD_GRAYSCALE)

读取时是彩色,转化为灰度图

img = cv.imread("car_red.jpg")
img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow("ing", img)
cv.waitKey(0)
cv.destroyAllWindows()

5、获取图像的部分区域
由于读取到的图片是ndarray类型的,因此可以使用切片操作来获取图像的某一部分:

roi = img[ 起始:结束, 起始:结束]

6、将彩色图片的通道拆分与合并
因为彩色图片是三通道的,假设图片尺寸为128x128,那么他就包含三个128*128的颜色矩阵

img = cv.imread("car_red.jpg")
cv.imshow("img", img)
# 注意格式为BGR
b, g, r = cv.split(img)
# 通道合并,注意矩阵的顺序,这样合成的图片为BGR格式
img = cv.merge((b, g ,r))
cv.imshow("img1", img)
cv.waitKey(0)
cv.destroyAllWindows()

三通道提取出来之后,每个通道其实如果显示的话,就是单独的灰度图,因为图片的通道数变为1了。
想要显示为RGB某一颜色,可以使用切片将其他颜色通道变为0

7、边界填充
将图片进行边界填充操作:

cv.copyMakeBorder(img, 50, 50, 50, 50, borderType=cv.BORDER_REFLECT)

其参数为,图片源, 上下左右的填充距离(50,50,50,50), borderType参数表示填充方法。
BORDER_REPLICATE: 复制法,复制图片最边缘像素
BORDER_REFLECT:反射法,对感兴趣的图像像素在两边进行复制
BRDER_REFLECT_101:反射法,以最边缘像素为轴
BORDER_WRAP:外包装法
BORDER_CONSTANT:常量法,常数值填充
记得在函数前定义一个变量接受该函数的返回值。
8、图像尺寸更改
使用resize函数对图片尺寸进行修改

red = cv.imread("car_red.jpg")
# 括号内的元组表示的是图片的长和宽,也就是其对于矩阵的列和行
red = cv.resize(red, (475, 245))

图片的尺寸我们使用长和宽来表示,矩阵的大小使用的是行和列,对应的图片的长就对应与矩阵的列,因此要注意输入的尺寸到底是图片尺寸还是矩阵尺寸,对于方阵来说没有区别,但是对于其他矩阵来说影响很大。
还有一种方法就是不指定其大小,通过指定x、y轴的扩展倍数来完成图像更改。

red = cv.resize(red,  (0, 0),fx=3, fy=4 )

9、图像融合
想要矩阵能相加,那么其必须是等尺寸的,在上面将两图处理为相同大小的图片之后,就能对其进行图像融合处理操作了。

green = cv.imread("car_green.jpg")
print(green.shape)
red = cv.imread("car_red.jpg")
red = cv.resize(red, (475, 245))
print(red.shape)
res = cv.addWeighted(red, 0.4, green, 0.6, 0)
cv.imshow("res", res)
cv.waitKey(0)
cv.destroyAllWindows()

图像融合其本质就是矩阵相加,上面的函数可以看作一个公式:
F = ared + bgreen + c
其中a = 0.4 b = 0.6, c = 0这些系数都是我们可以自己进行设置的
处理后的图片如下:

到此这篇关于opencv-python图像处理安装与基本操作的文章就介绍到这了,更多相关opencv python图像处理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python+OpenCV数字图像处理之ROI区域的提取

    目录 1.实现原理 2.使用的函数简述 3.代码实现过程 (1)读入原始图像 (2)获取mask (3)获取人物mask (4)获取人物 (5)新建一张与原始图一样大小的蓝色的背景图 (6)得到蓝色背景的mask 4.整体代码  利用mask(掩模)技术提取纯色背景图像ROI区域中的人和物,并将提取出来的人或物添加在其他图像上. 1.实现原理 先通过cv.cvtColor()函数,将原RGB彩色图像转换为hsv色彩空间的图像,然后通过cv.inRange()函数获得ROI区域的Mask,最后利用

  • Python+OpenCV图像处理之直方图统计

    目录 1. 直方图概述 (1)基本概念 (2)直方图中的术语 2. 直方图绘制 (1)读取图像信息 (2)绘制直方图 3. 掩膜直方图 (1)基本概念 (2)实现代码 4. H-S 直方图 (1)基本概念 (2)绘制二维H-S直方图 1. 直方图概述 (1)基本概念 直方图就是对图像的另外一种解释,它描述了整幅图像的灰度分布.直方图的 x 轴代表灰度值(0~255),y 轴代表图片中同一种灰度值的像素点的数目,所以通过直方图我们可以对图像的亮度.灰度分布.对比度等有了一个直观的认识 (2)直方图

  • 深入学习Python+Opencv常用四种图像处理操作

    目录 改变色彩空间: cv.cvtColor() 改变图像大小:cv.resize() 二维卷积操作 常用模糊 opencv图像处理(深度学习中常用的) 改变色彩空间: cv.cvtColor() cv.cvtColor(img, flag) img:原图像 flag:要改变的类型 常用的flag有:cv.COLOR_BGR2GRAY (BGR->GRAY).cv.COLOR_BGR2HSV img = cv.imread(r'E:\0_postgraduate\test.jpg') gray

  • Python+OpenCV六种实时图像处理详细讲解

    目录 1.导入库文件 2.设计GUI 3.调用摄像头 4.实时图像处理 4.1.阈值二值化 4.2.边缘检测 4.3.轮廓检测 4.4.高斯滤波 4.5.色彩转换 4.6.调节对比度 5.退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数.滤波处理.阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参.测试有一定帮助. 1.导入库文件 这里主要使用PySimpleGUI.cv2和numpy库文件,PySimpleGUI库文件实现

  • python opencv图像处理基本操作示例详解

    目录 1.图像基本操作 ①读取图像 ②显示图像 ③视频读取 ④图像截取 ⑤颜色通道提取及还原 ⑥边界填充 ⑦数值计算 ⑧图像融合 2.阈值与平滑处理 ①设定阈值并对图像处理 ②图像平滑-均值滤波 ③图像平滑-方框滤波 ④图像平滑-高斯滤波 ⑤图像平滑-中值滤波 3.图像的形态学处理 ①腐蚀操作 ②膨胀操作 ③开运算和闭运算 4.图像梯度处理 ①梯度运算 ②礼帽与黑帽 ③图像的梯度处理 5.边缘检测 ①Canny边缘检测 1.图像基本操作 ①读取图像 ②显示图像 该函数中,name是显示窗口的名字

  • opencv-python图像处理安装与基本操作方法

    目录 一.安装opencv 二. opencv使用 一.安装opencv 关于opencv的安装,如果是windows系统下使用pycharm,那么直接在在终端使用pip命令或者点击设置-python解释器输入opencv-python即可 如果使用的是conda,那也可以使用pip命令或者conda install 安装在linux下的话更加简单.而且也会少很多无缘无故的bug,推荐使用linux系统.linux下使用终端输入pip或者pip3 install opencv-python即可,

  • opencv python简易文档之图像处理算法

    目录 将图片转为灰度图 HSV 图像阈值 图像平滑 形态学-腐蚀操作 形态学-膨胀操作 开运算与闭运算 梯度运算 礼帽与黑帽 图像梯度处理 Canny边缘检测 图像金字塔 图像轮廓 直方图 直方图均衡化: 自适应均衡化: 傅里叶变换 模板匹配 总结 上一篇已经给大家介绍了opencv python图片基本操作的相关内容,这里继续介绍图像处理算法,下面来一起看看吧 将图片转为灰度图 import cv2 #opencv读取的格式是BGR img=cv2.imread('cat.jpg') # 将图

  • Python+OpenCv制作证件图片生成器的操作方法

    本项目使用Python和OpenCv实现身份证图片生成工具,填入信息,选择一张头像图片(即可生成黑白和彩色身份证图片).可以选择是否自动抠图,自动抠图目前仅支持蓝色背景,对自动抠图效果不满意可以手动抠图. 在线抠图地址: https://burner.bonanza.com/ https://www.gaoding.com/koutu 参照标准: 正面 "姓名"."性别"."民族"."出生年月日"."住址"

  • Window系统下Python如何安装OpenCV库

    关于OpenCV简介 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法. OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口. 在计算机视觉项目的开发中,OpenCV作为较大众的开源库,拥有了丰富的常

  • python快速安装OpenCV的步骤记录

    前言 opencv是一款开源的跨平台的计算机视觉库,轻量级而且高效,由一系列C函数和少量C++类构成,同时提供了python.ruby.matlab等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法. 最近课设需要用到OpenCV,但是在网上查看了很多教程之后,发现安装OpenCV的速度太慢了,执行命令动不动就六个小时, 因此我开始查找资料找到一个快速安装的步骤,希望可以帮到大家,如下所示: 步骤如下 第一步:win+R,然后cmd以管理员身份进入 第二步:输入pip install o

  • python安装pywin32clipboard的操作方法

    要使用到剪贴板的方法,搜索到有两个包可以用,pyperclip,和pywin32clipboard,pyperclip在3.5版本中不能够import,可以手动下载安装,未查到原因:pywin32clipboad不能用pip install 安装,也不能够查找到这个包,原来,这个是pywin32的一部分,直接安装pywin32就可以了. import win32clipboard win32clipboard.OpenClipboard() data = win32clipboard.GetCl

  • Python下opencv库的安装过程及问题汇总

    本文主要内容是python下opencv库的安装过程,涉及我在安装时遇到的问题,并且,将从网上搜集并试用的一些解决方案进行了简单的汇总,记录下来. 由于记录的是我第一次安装opencv库的过程,所以内容涵盖可能不全面,如果有出错的地方请务必指正.下面进入主题. 关于python的下载安装不再赘述,python的版本号是我们在opencv库的安装过程中需要用到的,cmd运行python可以进行查看. 通常,我们使用pip命令来安装扩展库. 打开cmd运行 pip install opencv-py

  • opencv python简易文档之图片基本操作指南

    前言 最近在学习opencv,使用的是python接口.于是想着写些相关的笔记供以后参考,有不足之处希望大家指出. 使用python学习opencv需要下载opencv第三方库. 使用pip安装即可. 安装命令: pip install opencv-python pip install opencv-contrib-python(opencv的贡献库) 引入opencv import cv2 读取图片: img=cv2.imread('cat.jpg') # cat.jpg路径为相对路径 #

  • Python图像处理库PIL详细使用说明

    一. 简介 1. 基本介绍 Pillow 是 Python 中较为基础的图像处理库,主要用于图像的基本处理,比如裁剪图像.调整图像大小和图像颜色处理等.与 Pillow 相比,OpenCV 和 Scikit-image 的功能更为丰富,所以使用起来也更为复杂,主要应用于机器视觉.图像分析等领域,比如众所周知的“人脸识别”应用 . 2. 特点 支持格式繁多 Pillow 支持广泛的图像格式,比如 "jpeg","png","bmp","g

随机推荐