iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python opencv操作深入详解
  • 394
分享到

Python opencv操作深入详解

2024-04-02 19:04:59 394人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

直接读取图片 def display_img(file="p.jpeg"): img = cv.imread(file) print (img.shape) cv.i

直接读取图片


def display_img(file="p.jpeg"):
  img = cv.imread(file)
  print (img.shape)
  cv.imshow('image',img)
  cv.waiTKEy(0)
  cv.destroyAllwindows()

读取灰度图片


def display_gray_img(file="p.jpeg"):
  img = cv.imread(file,cv.IMREAD_GRAYSCALE)
  print (img.shape)
  cv.imshow('image',img)
  cv.waitKey(0)
  cv.destroyAllWindows()
  cv.imwrite("gray_img.png",img)

读取视频


def display_video(file="sj.mp4"):
  v = cv.VideoCapture(file)
  if v.isOpened():
    open,frame = v.read()
  else:
    open=False

  while open:
    ret,frame = v.read()
    if frame is None:
      break
  
    if ret == True:
      gray = cv.cvtColor(frame,cv.COLOR_BGR2GRAY)
      cv.imshow("result",gray)
      if cv.waitKey(10) & 0xFF == 27:
        break
  v.release()
  v.waitKey(0)
  v.destroyAllWindows()

截取图片


def get_frame_img(file="p.jpeg"):
  img = cv.imread(file)
  print (img.shape)
  cat = img[0:200,0:200]
  cv.imshow('get_frame_img',cat)
  cv.waitKey(0)
  cv.destroyAllWindows()

提取rgb通道


def extrats_rgb_img(file="p.jpeg"):
  img = cv.imread(file)
  b,g,r = cv.split(img)
  print (b.shape,g.shape,r.shape)
  new_img = cv.merge((b,g,r))
  print (new_img.shape)

  copy_img_r = img.copy()
  copy_img_r[:,:,0]=0
  copy_img_r[:,:,1]=0
  cv.imshow("r_img",copy_img_r)

  copy_img_g = img.copy()
  copy_img_g[:,:,0]=0
  copy_img_g[:,:,2]=0
  cv.imshow("g_img",copy_img_g)

  copy_img_b = img.copy()
  copy_img_b[:,:,1]=0
  copy_img_b[:,:,2]=0
  cv.imshow("b_img",copy_img_b)

边界填充


def border_fill_img(file="p.jpeg"):
  border_type = [
    cv.BORDER_REPLICATE,#复制法,复制边缘
    cv.BORDER_REFLECT, #反射法,对感兴趣的图像中的像素在两边进行复制
    cv.BORDER_REFLECT_101,#反射法,以边缘像素为轴,对称
    cv.BORDER_WRAP,#外包装法
    cv.BORDER_CONSTANT#常量法,常量填充
    ]
  border_title = [
    "REPLICATE",
    "REFLECT",
    "REFLECT_101",
    "WRAP",
    "CONSTANT"
    ]
  img = cv.imread(file)
  top_size,bottom_size,left_size,right_size = (50,50,50,50)
  plt.subplot(231)
  plt.imshow(img,"gray")#原始图像
  plt.title("ORIGNAL")

  for i in range(len(border_type)):
    result = cv.copyMakeBorder(img,top_size,bottom_size,left_size,right_size,border_type[i])
    plt.subplot(232+i)
    plt.imshow(result,"gray")
    plt.title(border_title[i])

  plt.show()

在这里插入图片描述

图像融合,变换


def img_compose(file1="tu.jpeg",file2="gui.jpeg"):
  img_1 = cv.imread(file1)
  img_2 = cv.imread(file2)
  print (img_1.shape)
  print (img_2.shape)
  img_1= cv.resize(img_1,(500,500))
  img_2= cv.resize(img_2,(500,500))
  print (img_1.shape)
  print (img_2.shape)
  res = cv.addWeighted(img_1,0.4,img_2,0.6,0)
  plt.imshow(res)
  plt.show()


  res = cv.resize(img_1,(0,0),fx=3,fy=1)
  plt.imshow(res)
  plt.show()

  res = cv.resize(img_2,(0,0),fx=1,fy=3)
  plt.imshow(res)
  plt.show()

在这里插入图片描述

二值化处理


def Binarization(filepath):
  img = cv2.imread(filepath,0)
  limit = 120
  ret,thresh=cv2.threshold(img,limit,255,cv2.THRESH_BINARY_INV)
  plt.imshow(thresh,'gray')
  plt.show()
  return thresh
Binarization('t1.jpg')

到此这篇关于python OpenCV操作深入详解的文章就介绍到这了,更多相关Python opencv操作内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python opencv操作深入详解

本文链接: https://www.lsjlt.com/news/122180.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python opencv操作深入详解
    直接读取图片 def display_img(file="p.jpeg"): img = cv.imread(file) print (img.shape) cv.i...
    99+
    2024-04-02
  • OpenCV中图像通道操作的深入讲解
    目录1.基本介绍2.通道拆分2.1通过索引拆分2.2通过函数拆分3.通道合并总结1.基本介绍 在OpenCV中,图像通道是按照 B 通道→G 通道→R 通道的顺序存储的。在图像处理过...
    99+
    2024-04-02
  • Python+OpenCV之形态学操作详解
    目录一、 腐蚀与膨胀1.1 腐蚀操作1.2 膨胀操作二、 开运算与闭运算2.1 开运算2.2 闭运算三、梯度运算四、礼帽与黑帽4.1 礼帽4.2 黑帽一、 腐蚀与膨胀 1.1 腐蚀操...
    99+
    2024-04-02
  • Python-OpenCV深度学习入门示例详解
    目录0.前言1.计算机视觉中的深度学习简介1.1深度学习的特点1.2深度学习大爆发2.用于图像分类的深度学习简介3.用于目标检测的深度学习简介4.深度学习框架keras介绍与使用4....
    99+
    2024-04-02
  • 深入了解Python如何操作MongoDB
    目录前言1. 准备工作2. 连接MongoDB3. 指定数据库4. 指定集合5. 插入数据6. 查询7. 计数8. 排序9. 偏移10. 更新11. 删除12. 其他操作前言 Mon...
    99+
    2024-04-02
  • 深入学习Python+Opencv常用四种图像处理操作
    目录改变色彩空间: cv.cvtColor()改变图像大小:cv.resize()二维卷积操作常用模糊opencv图像处理(深度学习中常用的) 改变色彩空间: cv.cvtColor...
    99+
    2024-04-02
  • Python OpenCV实现图像增强操作详解
    目录创作背景图像亮度增强和降低旋转水平镜像和垂直镜像高斯噪声其它图像增强的方法创作背景 最近在忙着两个YOLOv7项目,通过看大量的论文,发现很多的相关的论文都会在收集图像后进行图像...
    99+
    2024-04-02
  • 解构操作系统文件操作:深入浅出的技术详解
    操作系统文件操作是任何计算机程序的基本组成部分,它允许程序与计算机存储设备上的文件进行交互。理解文件操作的原理对于开发高效和可靠的软件至关重要。 文件描述符 操作系统使用文件描述符来管理程序打开的文件。每个文件描述符代表一个打开的文件,...
    99+
    2024-02-29
    文件操作、操作系统、系统调用、文件描述符、文件权限
  • 深入了解Python Opencv数据增强
    目录1.按比例放大和缩小2.平移图像3.旋转图像4.镜像变换5.添加椒盐噪声6.添加高斯噪声7.模糊化8.重新组合颜色通道实例总结常见的数据增强操作有:按比例放大或缩小图片、旋转、平...
    99+
    2024-04-02
  • 详解Python+OpenCV进行基础的图像操作
    目录介绍形态变换腐蚀膨胀创建边框强度变换对数变换线性变换去噪彩色图像使用直方图分析图像介绍 众所周知,OpenCV是一个用于计算机视觉和图像操作的免费开源库。 OpenCV 是用 C...
    99+
    2024-04-02
  • python opencv图像处理基本操作示例详解
    目录1.图像基本操作①读取图像②显示图像③视频读取④图像截取⑤颜色通道提取及还原⑥边界填充⑦数值计算⑧图像融合2.阈值与平滑处理①设定阈值并对图像处理②图像平滑-均值滤波③图像平滑-...
    99+
    2024-04-02
  • Java深入讲解static操作符
    目录前言static修饰成员变量静态成员变量的特性static修饰的成员方法静态方法特性前言 这篇文章主要是从类中static修饰的成员变量,static修饰的成员方法这两个方面来讲...
    99+
    2024-04-02
  • Python+OpenCV实现图像基本操作的示例详解
    目录1. 计算机眼中的图像2. 图像的表示3. 基础操作 图像的读取4. 截取部分图像数据(ROI)5. 视频的读取6. 边界填充7. 图像的加法 图像的加法1. 计算机眼中的图像 ...
    99+
    2023-05-16
    Python OpenCV图像基本操作 Python OpenCV图像操作 Python OpenCV图像 Python OpenCV
  • Python 深入了解opencv图像分割算法
    本文主要是基于Python Opencv 实现的图像分割,其中使用到的opencv的函数有: 使用 OpenCV 函数 cv::filter2D 执行一些拉普拉斯滤波以进行...
    99+
    2024-04-02
  • Python入门之字符串操作详解
    目录字符串字符串常用操作拼接字符串字符串复制计算字符串的长度截取字符串和获取单个字符字符串包含判断常用字符串方法把字符串的第一个字符大写统计字符串出现的次数检查字符串开头检查字符串结...
    99+
    2024-04-02
  • Go字符串操作深入解析
    目录重要性反转字符串拆分与合并字符串忽略大小写判等蛇行命名转驼峰命名方式替换和查找其他速查其他重要性 字符串处理基本功,无论面试算法还是工作都经常使用到。以下我们以一个算法+一个实...
    99+
    2023-02-01
    Go字符串操作 Go 字符串
  • Python OpenCV 详解
    1. OpenCV 初识与安装 本部分要了解 OpenCV (Open Source Computer Vision Library)的相关简介,OpenCv 可以运行在多平台之上,轻量级而且高效,由一系列 C 函数和少量 C++类构成,...
    99+
    2023-09-03
    Python OpenCV Powered by 金山文档
  • 深入了解Golang数组删除操作
    Golang数组删除操作详解 在Golang编程中,数组是一种固定长度的数据结构,其大小在创建时就已经确定,并且不可改变。因此,在需要删除数组元素时,我们通常采取一些特殊的操作来模拟删...
    99+
    2024-02-25
    删除 golang 数组
  • 深入理解 PHP 中的点操作符
    深入理解 PHP 中的点操作符,需要具体代码示例 PHP 是一种常用的服务器端脚本语言,许多网站和应用程序都使用 PHP 来开发。在 PHP 中,点操作符(.)是一个非常常用的操作符,...
    99+
    2024-04-02
  • Java OpenCV学习之Mat的基本操作详解
    目录使用OpenCV时你需要补充的知识Mat对象Mat划线Mat在己有图片上加圆圈ImageShowAddCircle.javaImageViewer.javaMat与Image互转...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作