Opencv-图像操作与处理入门基本知识(一)

前言

基于python脚本语言开发的数字图片处理包,比如PIL(Python Image Library),Pillow, opencv, scikit-image等。

  • PIL和Pillow只提供最基础的数字图像处理,功能有限;

PIL历史悠久,原来是只支持python2.x的版本的,后来出现移植到python3的库pillow,pillow号称是friendly fork for PIL,其功能和PIL差不多,但是支持python3。

  • opencv实际上是一个c++库,只是提供了python接口,更新速度非常慢。
  • scikit-image是基于scipy的一款图像处理包,它将图片作为numpy数组进行处理正好与matlab一样。

一、图像基础知识

  • 模拟图像

连续图像 通过某种物理量(如光、电等)的强弱变化来记录图像亮度信息,是连续变化的。

  • 数字图像

分级存储的图像

  • 位数:图像的表示 每个像素点是如何表示的
  • 分类:二值图像、灰度图像、彩色图像

计算机采用0/1编码的系统,数字图像也是利用0/1来记录信息,我们平常接触的图像都是8位数图像包含0-255灰度,其中 0:黑 1:白

  • 黑色:(0,0,0)
  • 白色:(256,256,256)/(1,1,1)

在这里插入图片描述
在这里插入图片描述

  • 二值图像

每个像素取值0/1

  • 灰度图

每个像素8位 0-255 (没有三个通道,只有一个通道,表示亮度就可以)

  • 彩色图

每个像素由R G B 三个分量表示,每个分量0-255,因此单独拿出一个分量就是一个灰度图,每一像素的颜色需由R,G、B三个分量来表示,M,N分别表示图像的行列数,三个MxN的二维矩阵分别表示各个像素的R,G、B三个颜色分量

  • 索引图像

一种把像素值直接作为RGB调色板下标的图像。索引图像可把像素值“直接映射”为调色板数值。

RGB图像和索引图像的区别

像素坐标系

像素坐标系u-v的原点为O0
在视觉处理库OpenCV中,u对应x,v对应y;

在这里插入图片描述

图像坐标系

图像坐标系x-y的原点是O1,为像素坐标系的中点,

在这里插入图片描述


二、opencv处理图像基本操作

2.1 基础知识与应用

opencv:BGR格式
一般图像是RGB格式,且图像显示时用的也是RGB格式

2.1.1 读取图像

在这里插入图片描述

2.1.2 显示图像

opencv中彩色图像显示BGR格式
matplotlib中彩色图像显示RGB格式

在这里插入图片描述

2.1.3 显示图像

在这里插入图片描述

2.1.4 基础操作示例

在这里插入图片描述

import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt

img = np.zero((256,256,3),np.unit8) 
# 彩色图创建加上3个通道,而且每个通道大小也是500*500
# img = np.zero((256,256)),np.unit8  灰度图创建

plt.imshow(img[:,:,::-1])

在这里插入图片描述
在这里插入图片描述

  • 修改像素值
    在这里插入图片描述
img[100,100] # 返回该像素点位置三个通道的值
img[100,100,100] # 只返回蓝色通道的值

# 修改
img[100,100] = (0,0,255) # 红色

# 通道的拆分与合并
b,g,r = cv.split(img)
img = cv.merge((b,g,r)) 
  • 案例引入
import numpy as np
import cv2 as cv
img = cv.imread('messi5.jpg'# cv读取获得的时BGR格式
# 获取某个像素点的值
px = img[100100]
# 仅获取蓝色通道的强度值 指定蓝色通道B:0  G:1  R:2
blue = img[1001000]
  • 46
    点赞
  • 289
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

胜天半月子

打不打商的无所谓,能帮到你就好

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

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

打赏作者

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

抵扣说明:

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

余额充值