当前位置: 首页 > wzjs >正文

建行网站查询密码是什么东西b2b外贸平台

建行网站查询密码是什么东西,b2b外贸平台,青岛论坛,ps 怎么做网站搜索框文章目录 前言一、OpenCV简介二、计算机中的图像表达1.图像表示2.图像存储 三、基本图像操作1.创建窗口2.读取图像3.显示图像4.保存图像5.创建黑白图像6.图像切片7.图像大小调整 四、读取视频 前言 目前,我开始学习OpenCV的相关概念和操作。通过今天的学习&#xf…

文章目录

  • 前言
  • 一、OpenCV简介
  • 二、计算机中的图像表达
    • 1.图像表示
    • 2.图像存储
  • 三、基本图像操作
    • 1.创建窗口
    • 2.读取图像
    • 3.显示图像
    • 4.保存图像
    • 5.创建黑白图像
    • 6.图像切片
    • 7.图像大小调整
  • 四、读取视频


前言

  • 目前,我开始学习OpenCV的相关概念和操作。通过今天的学习,我掌握了OpenCV的基础概念与图像操作

一、OpenCV简介

  • OpenCV(开放源代码计算机视觉库)是一个开源的计算机视觉和机器学习软件库。由一系列 C++ 类和函数构成,用于图像处理、计算机视觉领域的算法实现。
  • OpenCV-Python是原始OpenCV C++实现的Python包装器。
  • OpenCV-Python使用Numpy,这是一个高度优化的数据库操作库。所有OpenCV数组结构都转换为Numpy数组。

二、计算机中的图像表达

1.图像表示

  • 像素是图像的基本单元,每个像素存储着图像的颜色、亮度和其他特征。
  • 一系列像素组合到一起就形成了完整的图像。
  • 我们平常接触的图像都是8位数图像,范围从0到255,其中0,代表最黑,1,表示最白。
  • 日常生活中常见的图像是RGB三原色图。RGB图上的每个点都是由红(R)、绿(G)、蓝(B)三个颜色按照一定比例混合而成的。

2.图像存储

  • 在OpenCV中,图像通过Numpy数组进行存储
  • 灰色图像使用二维数组,而彩色图像使用三维数组进行存储
  • 图像的常用属性分别为:shape和dtype,用于访问数组的形状和像素的数据类型
  • 需要注意的是:在OpenCV中,彩色图像以BGR顺序存储

三、基本图像操作

1.创建窗口

  • cv2.namedWindow(winname [,窗口属性])
  • winname指窗口名
  • 窗口属性包括:cv2.WINDOW_AUTOSIZE,cv2.WINDOW_NORMAL;用以指定窗口大小是否能进行调整
    tips:可以在imshow方法中指定窗口名从而省略该步骤
cv.namedWindow('window1',cv.WINDOW_AUTOSIZE) #cv.WINDOW_AUTOSIZE表示不能调整窗口大小
cv.namedWindow('window2',cv.WINDOW_NORMAL) #cv.WINDOW_NORMAL表示可调整窗口

2.读取图像

  • cv2.imread(path [,读取方式])
  • 可以指定读取彩色或灰白图像
img2 = cv.imread('cat1.png',cv.IMREAD_GRAYSCALE) #读为灰度图

3.显示图像

  • cv2.imshow(winname,img)
  • winname:显示图像的窗口名,以字符串类型表示
  • img:要显示的图像
cv.imshow('window2',img)
  • 直接调用该函数会导致显示出现问题,需要结合使用cv.waitKey(),cv.destroyAllWindows()指定绘图停留时间以及释放资源
cv.imshow('window2',img)
cv.waitKey(0) #给图像绘制留下时间
cv.destroyAllWindows() #释放资源

4.保存图像

  • cv2.imwrite(path,img)
  • 将图片保存到指定路径
cv.imwrite('gray.png',img2)

5.创建黑白图像

  • 由于OpenCV使用Numpy数组对图像进行存储,因此我们可以使用Numpy来创建对应的图像数组
import cv2 as cv
import numpy as np
h = 480
w = 480
img = np.zeros((h,w,3),dtype=uint8)
cv.imshow('img',img)
img[:,:,:] = 255
cv.imshow('img1',img)
cv.waitKey(0)
cv2.destroyAllWindows()
  • 以下展示生成随机颜色的图像
h = 480
w = 480
img = np.zeros((h,w,3),dtype=uint8)
img[:,:,:] = np.random.randint(0,256,(h,w,3)) 
cv.imshow('random',random_img) 
cv.waitKey(0) 
cv.destroyAllWindows()

6.图像切片

  • 对图像进行切片相当于对图像对应的Numpy数组进行切片
img = cv.imread('cat1.png')
print(img.shape)y = 70
x = 100
w = 250
h = 250
img1 = img[y:y+w,x:x+h]
cv.imshow('img1',img1)
cv.imshow('img2',img)
cv.waitKey(0)
cv.destroyAllWindows()

tips:需要注意的是,OpenCV里的坐标系和数学中的直角坐标系有区别;h对应的是垂直方向,w对应的是水平方向

7.图像大小调整

  • cv2.resize(img,dsize,dts)
  • 结果返回一个新的图像数组
img = cv.imread('cat1.png')new_img = cv.resize(img,(480,100))
cv.imshow('img',new_img)
cv.waitKey(0)
cv.destroyAllWindows()

四、读取视频

  • 视频是由一帧一帧的图片组合而成,读取视频本质上也是在读取图片
  • cap = cv2.VideoCapture(path)
  • ret,frame = cap.read()
  • 首先创建VideoCapture类的对象,再使用该对象调用read方法读取视频
  • 返回值ret是一个布尔值,用于判断是否读取成功;frame代表一帧图像
cap = cv.VideoCapture(r'D:\AI\code\OpenCV\20221112_09:42:12_1.mp4') #本地读取视频
cap1 = cv.VideoCapture(0) #从摄像头读取视频流
while True:ret,frame = cap.read()if not ret:print("读取结束")breakcv.imshow('frame',frame)# 等待40毫秒并检查按键事件,获取按键的ASCII码,判断按键是否为q键if cv.waitKey(40) & 0xFF==ord('q'):break
cap.release()
cv.destroyAllWindows()

THE END

http://www.dtcms.com/wzjs/186372.html

相关文章:

  • 网站开发成本主要有哪些常用搜索引擎有哪些
  • wordpress 增加浏览数快速排名seo
  • 怎么做门户网站列表网推广效果怎么样
  • 用maxcms做的网站谷歌广告投放教程
  • 泸州建设网站深圳全网推广
  • 什么样的公司愿意做网站合肥seo优化外包公司
  • 信息发布网站模板下载今日最新闻
  • 网站开发工程师需要会写什么区别百度问答我要提问
  • 做网站哪些好发帖效果好的网站
  • 怎么做跟别人一样的网站吗百度刷搜索词
  • 做网站必须要注册公司么杭州网站外包
  • html网站前台模板官网制作公司
  • 漂亮的手机网站模板下载简述什么是百度竞价排名
  • 西部数码 空间做2个网站安徽网站关键字优化
  • 免费做爰小说网站华为seo诊断及优化分析
  • 母婴类网站 网站建设方案书 备案互联网营销师培训班
  • 阿亮seo技术恩施seo整站优化哪家好
  • 建设一个网站用什么软件合肥seo推广培训班
  • 南京网站优化工具全网推广怎么做
  • 怎么用FTP做网站百度点击优化
  • 网站风格的设计原则临沂森佳木业有限公司
  • 做网站能赚钱吗知乎网上推广产品怎么做
  • 纯静态网站开发汕头网站设计公司
  • 在那些网站做宣传更好教你免费申请个人网站
  • 在银行网站如何做理财风险评测百度网盘客服中心电话
  • 网站后台管理页面下载自助建站seo
  • 苹果手机做微电影网站有哪些易观数据
  • 网站开发的五个阶段班级优化大师下载
  • 网络服务商怎么找关键词优化方法
  • 网站建设与管理学什么厦门seo优化外包公司