Opencv从0到1------利用白话文和你一起学cv(第二章)

目录

第二章

一、对各个类型图的介绍

1. 二值图 

    简介:0个通道,像素点取值要么是0,要么是255,故非黑即白。

    作用:去除图片噪点,让图片非黑即白的图,代入感就来了。

 2. 灰度图

简介:1个通道,像素点取值0~255,0表示黑色,255表示白色

作用:能够减少失帧和计算的近似误差

3. BGR图(注:一般是叫RGB图,在Opencv里是反过来的,无差异)

简介:3个通道(B、G、R),每个通道的像素点取值都是0~255,彩色图片

作用:Up也不清楚[狗头保命] ^·^

4. HSV图(H:色彩,S:饱和度,V:亮度)

简介:3个通道(H、S、V),H(0~179),S和V都是0~255,彩色图片

作用:有助于对指定颜色的物体进行追踪和提取

二、对各个类型图片的操作

1. 图片读取(彩色图和灰度图)

2. 图片保存

3. 图片展示

4. 图片关闭

三、常用的图片属性函数

1. 获取图片的行、列、通道数和整个成员元组信息


第二章

一、对各个类型图的介绍

1. 二值图 

    简介:0个通道,像素点取值要么是0,要么是255,故非黑即白。

    作用:去除图片噪点,让图片非黑即白的图,代入感就来了。

 2. 灰度图

简介:1个通道,像素点取值0~255,0表示黑色,255表示白色

作用:能够减少失帧和计算的近似误差

3. BGR图(注:一般是叫RGB图,在Opencv里是反过来的,无差异)

简介:3个通道(B、G、R),每个通道的像素点取值都是0~255,彩色图片

作用:Up也不清楚[狗头保命] ^·^

4. HSV图(H:色彩,S:饱和度,V:亮度)

简介:3个通道(H、S、V),H(0~179),S和V都是0~255,彩色图片

作用:有助于对指定颜色的物体进行追踪和提取

二、对各个类型图片的操作

1. 图片读取(彩色图和灰度图)

# 一般都这么写,按照自己的习惯
import cv2 as cv   

# filename: 读取图片的地址
# flag=1: 默认以BGR彩色图三通道读取
cv.imread(filename, flag=1)
#等价写法:cv.imread(filename) == cv.imread(filename,cv.IMREAD_COLOR)

# flag=0:默认以灰度图单通道读取
cv.imread(filename, flag=0)
#等价写法:cv.imread(filename, 0),cv.imread(filename,cv.IMREAD_GRAYSCALE)

2. 图片保存

import cv2 as cv

# filename: 保存的地址和名字
# img: 要保存的是哪张图片
cv2.imwrite(filename, img)

3. 图片展示

import cv2 as cv

# name: 自己设定读取的图片名儿
# img: 读的哪张图片
cv.imshow(name,img)  

# 读取图片延迟0毫秒,想当于永远延迟,1000近似1秒
cv.waitKey(0)

# 每次用imshow()后面都要跟一个摧毁窗口的函数,否则容易出问题
cv.destroyAllWindows()

4. 图片关闭

# 导入cv模块
import cv2 as cv  

# 默认彩色读取相对路径下的名叫test_img的.jpg图片并保存到read_img中
read_img = cv.imread("test_img.jpg") 

# 展示名叫read_img的照片,窗口名重新叫read_img_show
cv.imshow("read_img_show",read_img)

# 保存图片read_img到相对路径中,保存的名字命名为write_img
cv.imwrite("write_img.jpg",read_img)

# 设置无限延迟时间
cv.waitKey(0)

# 图片关闭的方法
while 1:
    if(cv.waitKey(0) == ord('q') or cv.waitKey(0) == ord('Q')):
        break;
    else:
        pass

# 销毁窗口
cv.destroyAllWindows()

三、常用的图片属性函数

1. 获取图片的行、列、通道数和整个成员元组信息

import cv2 as cv

# 读取图片
read_img = cv.imread("test_img.jpg")

# 展示图片所有信息:彩色图:(x,y,3),灰度图:(x,y)
all_message = read_img.shape

# 读取图片的宽度
row = read_img.shape[0]

# 读取图片的高度
col = read_img.shape[1]

# 注:当all_message显示是三通道才可以使用,如果是单通道的灰度图图片列表越界,会报错。
tho_count = read_img.shape[2]

总结:1. 理解了4种图形:二值图、灰度图、BGR图、HSV图

           2. 学习了图的读取、保存、展示、延迟、关闭

           3. 明白了图的形状大小和通道数的获取方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LowKey_Tan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值