1、安装环境
如何安装Python解释器和PyCharm,这里就不说明了,
参考文章链接:https://blog.csdn.net/weixin_72959097/article/details/130226675
下面主要说明在配置好开发环境后,Opencv是如何安装的。
首先,创建一个新项目,创建一个main.py的代码文件。
在下面的命令窗口,选择终端窗口,然后打开本地窗口输入
1 pip list
按回车后,就可以显示出当前已经安装的库。这三个库都是默认安装的库,除此之外,我们还发现弹出了两段黄色的字,这个一个警告,意思是说 pip 出了新版本了,而我们还在用老版本,要按它的的提示去升级到最新版本。
1 python.exe -m pip install --upgrade pip
执行升级命令后,看到 Successfully 就表示升级成功了。
接下来安装图像处理的的 opencv-python 库,继续在光标闪烁处,输入
pip install opencv-python<4.6 -i https://mirror.baidu.com/pypi/simple
后按回车,就会自动安装好 opencv-python 这个第三方库了。
继续在光标闪烁处输入:
1 pip list
可以看到除了之前那三个库,现在多了 opencv-python 和 numpy 库了,表示我们安装成功了。
2、Opencv中图像的存储格式
先了解一些图像的基本知识:
(1)图像是由像素构成的,一个像素就是图片上的一个点。
(2)常见的图像有1通道(灰度图)、3通道(彩色图)、4通道(透明图),每个通道的像素值范围是[0,255],彩色图是我们最常见的,意思是每个像素由B、G、R三个值组成(也就是三原色),比如(255,255,255)表示白色。
(3)二值图像:图像中每个像素的灰度值仅可取0或1,即不是取黑,就是取白,二值图像可理解为黑白图像。
灰度图像:图像中每个像素可以由0-255的灰度值表示,具体表现为从全黑到全白中间有255个介于中间的灰色值可以取
彩色图像:每幅图像是由三幅灰度图像组合而成,依次表示红绿蓝三通道的灰度值,即我们熟知的BGR(RGB),此时彩色图像可以视为三维的[height,width, 3],也即相当于有三层,从上到下分别是blue, green和red。
HSV图像:HSV图显示也是彩色的,HSV图是三通道图像,其三个通道如下:H,色彩或者色度,取值0-179;S,饱和度,取值为0-255;V,亮度,取值为0-255。
3、Opencv的基本操作
3.1 读取图像
语法:cv2.imread(filepath,flags)读进来图片直接是BGR格式
cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
cv2.IMREAD_GRAYSCALE:读入灰度图片
cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道
1 cv2.imread(filepath,flag)
# 第一个参数为文件夹内图片或者其他文件夹的图片的绝对路径,注意:其中路径内的斜杠一定为/或者\\
# 文件路径(相对路径和绝对路径),路径中不要带有中文。
# 第二个参数是一个标志,用来表示该张图片以何种方式被读取
含义 | 数值 |
保持原格式不变 | -1 |
灰度图像 | 0 |
BGR | 1 |
图像深度为16 or 32 返回灰度图像,否则转换为8位图像 | 2 |
以任何可能颜色格式读取图像 | 4 |
3.2 显示图像
语法:cv2.imshow(window_name,image)
window-name:显示图像的窗口的名字
image : 要显示的图像,窗口大小自动调整为图片大小。
注意:该函数一般和cv2.waitKey()
、cv2.destroyAllWindows()
、cv2.destroyWindow()
一起使用。
cv2.waitKey()
函数是键盘绑定函数,等待键击任意键或指定键继续程序。
cv2.destroyAllWindows()
用于销毁全部窗口(从内存中清除)
cv2.destroyWindow()
销毁指定窗口(从内存中清除)。
3.3 保存图像
语法:cv2.imwrite(filename,image[,params])
将图像保存到指定文件。filename:文件名,img:要保存的图像,params:格式特定参数编码
4、应用例子
下载的可用图片:
将下载的图片命名为nv.png,并放在新建的main.py文件夹内,代码如下:
1 import cv2 2 3 fn = "nv.png" 4 # if __name__ == '__main__': 5 print('loading %s' % fn) 6 img = cv2.imread(fn) # 读取图像,可以使用CV2模块中的imread()函数来读取图像,并将其存储为numpy数组。 7 sp = img.shape 8 print(sp) 9 10 # 获取图像大小 11 sz1 = sp[0] 12 sz2 = sp[1] 13 print('width:%d\nheight:%d' % (sz2, sz1)) 14 # 创建一个窗口显示图像 15 cv2.namedWindow('img') 16 cv2.imshow('img', img) 17 # 复制图像矩阵,生成与源图像一样的图像,并显示 18 myimg2 = img.copy(); 19 cv2.namedWindow('myimg2') 20 cv2.imshow('myimg2', myimg2) 21 22 # 复制并转换为灰度化图像并显示 23 myimg1 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 24 cv2.namedWindow('myimg1') 25 cv2.imshow('myimg1', myimg1) 26 cv2.waitKey() 27 cv2.destroyAllWindows()
结果显示:
标签:img,cv2,笔记,学习,Opencv,灰度,图像,pip,255 From: https://www.cnblogs.com/Zhouce/p/17861558.html