深度学习 其三 OpenCV图像处理

OpenCV 图像处理:

配置 py 环境

1.anaconda 来配置 py 环境—>envs 文件夹里面可以创自己的虚拟环境

—anaconda prompt 用于配置 py 环境的

1
2
3
pip install opencv-python #使用import cv2来加载库,可以+==3.4.1来下载没有申请专利的,最新这是4.11.0.86
exit()
pip install opencv-contrib-python #使用import

如果有多个环境,不确定装到哪里,可以先用:

1
conda info --envs

查看当前有哪些环境,激活你想用的再装包。

dcd6d306880e771a935b244fe241cce1

—Jupyter Notebook

image-20250428131808863

可以用这个写代码

图像基本操作:

一张彩色图片通常由 3 种颜色通道(矩阵)合成—RGB(三原色),每种矩阵都是一张灰度图(二维矩阵),像素点的值是 0-255(从小到大越来越亮)

而每个像素点的表示就是三原色的综合—R,G,B,(R,G,B),范围为 0-255,如(0,0,255)为蓝色,计算机通过把三个灰度图对应像素点的值组合起来,构成多种多样的颜色

1
2
3
4
5
6
7
8
9
import cv2
img=cv2.imread('dog.jpg') #读取图片

print(img.shape) #查看图片的形状,(高,宽,通道数) 通道数就是图片由几个颜色层组成,如RGB三个

print(img[100,100]) #输出矩阵中100,100位置像素点的B,G,R(按照这个顺序来输出)
# 分离通道
b, g, r = cv2.split(img)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#基本图形解析实验
import cv2
#因为OpenCV里面cv2工具包的读取顺序不同,所以展示的时候最好用cv2里面的展示工具包函数

#cv2.imshow('x',y)--->x是给窗口指定一个名字,y是读取图片变量的变量名,这里要搭配下方函数,不然会直接闪过
#cv2.waitKey(0)--等待时间(毫秒),0即不自动关闭
#cv2.destroyAllWindows()-->鼠标任意键关闭窗口

#print(img.shape) (高, 宽, 通道数)
#print(img[100,100]) [B, G, R],即蓝、绿、红的值

#如果要读一个灰度图,可以自己手动给函数加第二个参数
#IMREAD_COLOR彩色图
#IMREAD_GRAYSCALE灰度图
#img=cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)--->注意:这里灰度图前面前缀一定要加上cv2.
import matplotlib.pyplot as plt #用于绘图的基本展示
#plt.plot():画折线图
#plt.imshow():显示图片(常用于图像处理) --->只是把图片准备好,下面才是显示图片
#plt.show():显示所有绘制的图形
import numpy as np #最基本的数值工具工具包
#创建和操作多维数组(如图片的像素矩阵)
#数学运算(加减乘除、矩阵运算等)
#随机数生成、统计分析等

image-20250428212339412

1
2
3
4
5
6
7
8
9
10
11
#实际上,视频也是由一帧一帧图像组成,我们也可以用cv2函数来获取视频文件,对视频进行操作
#读取视频操作:
vc=cv2.VideoCapture('x')#--->x是视频文件,把视频拆分成每一帧
#检查视频是否能打开:
if vc.isOpened():
open, frame=vc.read()#--->每次的vc.read()是对视频的每一帧的读取
else:
open=False
while(open):
vc2.imshow('1',frame)
vc2.show()

image-20250428214712344