首页 > 其他分享 >opencv笔记

opencv笔记

时间:2023-08-27 12:00:10浏览次数:37  
标签:vc img cv2 笔记 opencv print img1

opencv

图像 RGB

opencv读取的格式是BGR

基本用法

读取图片

import cv2



img = cv2.imread(r'C:\Users\Administrator\Pictures\951c76ee-469e-4084-96db-3d66e5250299.jpg')

print(img)
print(img.size)
print(img.shape)
print('---'*30)
img1 = cv2.imread(r'C:\Users\Administrator\Pictures\951c76ee-469e-4084-96db-3d66e5250299.jpg', flags=cv2.IMREAD_GRAYSCALE)
print(img1)
# cv2.imshow('a', img1)
# cv2.waitKey(0)
# cv2.destroyAllWindows()
print(img1.shape)
print(img1.dtype)
print(img1.size)

读取视频

import cv2

vc = cv2.VideoCapture(r'wfjr.mp4')
# # 检查是否打开正确
# if vc.isOpened():
#     open, frame = vc.read()  # 正常读取open为true
# else:
#     open = False

while open:
    ret, frame = vc.read()
    if frame is None:
        break
    if ret == True:
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        cv2.imshow('result', gray)
        if cv2.waitKey(10) & 0xFF == 27:   # 27为EXC退出
            break
vc.release()
cv2.destroyAllWindows()

ROI区域【截图部分区域】

# 截图部分区域


import cv2



img = cv2.imread(r'C:\Users\Administrator\Pictures\951c76ee-469e-4084-96db-3d66e5250299.jpg')
people = img[0:200, 0:200]
cv2.imshow('people', people)
cv2.waitKey(0)
cv2.destroyAllWindows()

颜色通道提取



# 颜色通道提取


import cv2
img = cv2.imread(r'C:\Users\Administrator\Pictures\951c76ee-469e-4084-96db-3d66e5250299.jpg')
b, g, r = cv2.split(img)
print(b)
print(b.shape)  # (412, 278)

# 组合
img2 = cv2.merge((b, g, r))
print(img2.shape)  # (412, 278, 3)

# 只保留R[其它两个与这个同理]  图片RGB opencv【BGR】
cur_img = img.copy()
cur_img[:,:,0] = 0
cur_img[:,:,1] = 0
cv2.imshow('R', cur_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

边界填充

暂时略

图像融合

暂略

图像阀值

标签:vc,img,cv2,笔记,opencv,print,img1
From: https://www.cnblogs.com/code3/p/17660108.html

相关文章

  • [算法学习笔记][刷题笔记] 2023/8/26&8/27 解题报告状压 dp
    题单状压dp状压dp是一种非常暴力的算法,它直接记录不同的状态,通过状态进行转移。状压dp可以解决NP类问题。它的原理是暴力枚举每一种可能的状态。所以它的复杂度是指数级的。只能求解小范围的问题。关于记录状态:状压dp通过一个二进制串来记录状态。显然二进制串可以转......
  • 设计模式学习笔记——接口隔离原则
    定义:1、客户端不应该依赖于它不需要的接口2、类间的依赖关系应该建立在最小的接口上通俗的讲,应该建立单一的接口,不要建立臃肿庞大的接口,即接口应该尽量细化,同时接口中的方法尽量少。举例:要成为一名美女必须具备三个条件:面貌、身材、气质,星探找美女的过程如下类图所示:IPrettyGirl接......
  • 设计模式学习笔记——创建者模式
    这个模式也是比较难理解的,我看了《设计模式之禅》上讲解的例子,但是看完之后一头雾水,而且好乱,仍然没有理解,看了好几遍,还是没有理解,于是我又去翻开我的课本,看那上面的例子,但是结果依然。于是上网搜,搜了很多,但是都不是很理想,最终功夫不负有心人,终于找到一个我能理解,而且我认为比较合理......
  • oracle学习笔记(9)——逻辑存储结构——区
    1、区的概念:   区是由一系列连续的数据块构成的逻辑存储单元,是存储空间分配与回收的最小单位。当创建一个数据库对象时,Oracle为对象分配若干个区,以构成一个段来为对象提供初始的存储空间。当段中已分配的区都写满后,Oracle会为段分配一个新区,以容纳更多的数据。2、区的管理(1)区......
  • oracle学习笔记(13)——数据库的启动与关闭
    1、常用的服务(1)OracleServiceSID     数据库服务,这个服务会自动地启动和停止数据库。如果安装了一个数据库,它的缺省启动类型为自动。服务进程为ORACLE.EXE,参数文件initSID.ora,日志文件SIDALRT.log,控制台SVRMGRL.EXE、SQLPLUS.EXE。     注:SID-数据库标识 ......
  • oracle学习笔记(10)——逻辑存储结构——段
    段是由一个或多个扩展区组成的逻辑存储单元,数据库模式对象在逻辑上是以段来占据表空间的大小,段代表特定数据类型的数据存储结构。1、 段的类型    段分为:数据段、索引段、临时段、回滚段    1)数据段       数据段用来存储表或簇的数据,可以细分为表......
  • oracle学习笔记(14)——安全管理
        数据库的安全性主要包括两个方面的含义:一方面是防止非法用户对数据库的访问,未授权的用户不能登录数据库;另一方面是每个数据库用户都有不同的操作权限,只能进行自己权限范围内的操作。Oracle数据库的安全可以分为两类:    1)系统安全性       系统安全......
  • oracle学习笔记(12)——数据库服务器工作模式与数据字典
    1、 专用服务器工作模式    1)概念:       专用服务器模式是指Oracle为每个用户进程启动一个专门的服务器进程,该服务器进程仅为该用户进程提供服务,直到用户进程断开连接时,对应的服务器进程才终止。    2)特点:       服务器进程与客户进......
  • Horizon学习笔记
    Horizon吊炸天!之前,一直认为horizon只不过是一个面板,没啥好研究的,而且我对django又不是很熟,一直懒的看horizon,今晚硬着头皮看了下去,没想到,越看越有劲,眼睛差点跟不上我的思路了!我觉得horizon牛不在对django的运用,而是对事物高度的抽象能力:D程序的入口点在horizon/openstack_dashboar......
  • 『学习笔记』整除分块(数论分块)
    简述整除分块这个东西听起来不是很抽象,但是我理解起来的确有点抽象(可能因为我太菜了吧)。那就先放张图:其实就是颜色相同的点被分成了一块。如果序列总长度是\(n\),某一个区间左端点是\(l\),那么\(r=\lfloor\dfrac{n}{\lfloor\dfrac{n}{l}\rfloor}\rfloor\)。所以整除分......