推荐在Anaconda软件创建自己的环境
一、opencv 基础图像操作
ret = cv2.imread( filename, args )
#读取图片信息,打开图片
#filename 图片路径和图片名称
#args 简单介绍一下详情自己去查叭
-1 保持原格式保持不变
0 将图像调整为单通道的灰度图
1 调整为3通道RGB图像
print(rct)
t = cv2.imshow("test",ret)
#打开一个显示窗口
key = cv2.waitKey()
#等待用户输入
if key==ord("a"):
print(key)
cv2.destroyWindow("test")
#关闭刚打开的窗口
cv2.destroyALLWindow()
#关闭所有窗口。
cv2.imwrite(filename,ret)
filename 保存路径
ret 打开图像
二、什么是二进制图像?
二进值图像比较单调,他的颜色构成只有黑色和白色俩种颜色,,通过这俩种颜色来表示一个简单的图像
在计算机存储如下图所示:表示了一个1的图像
0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 |
三、什么是灰度图像?
相比二进制图像只有黑白俩种颜色,所表示的不够细腻,为了表示更多的细节,我们使用灰度图像
计算机会将灰度处理为256个灰度级,255表示纯白色,0则表示了纯黑色,其余数值则表示不同级别的灰度
000000 | 0 | 纯黑色 |
0001000 | 16 | 深灰色 |
001000 | 32 | 深灰色 |
010000 | 64 | 深灰色 |
100000 | 128 | 浅灰色 |
1010110 | 166 | 浅灰色 |
10111100 | 188 | 浅灰色 |
11001000 | 200 | 浅灰色 |
11100001 | 225 | 浅灰色 |
11111111 | 255 | 纯白色 |
四、什么是彩色图像
彩色图像是我们日常生活中更为常见的图像,它能表示出更多的图像和丰富的图像,
人的视网膜上存在三种颜色感受器,分别是红绿蓝,我们这里常用的就是RGB色彩空间
在这三个色彩空间上都有【0,255】的数值。
简单来说,如果我们有红绿蓝三种颜色颜料,通过不同的配比和组合我们因该可以拿到255*255*255=16777216种颜色
举例说明:
R | G | B | RGB | 颜色 |
255 | 255 | 255 | (255,255,255) | 白色 |
0 | 0 | 0 | (0,0,0) | 纯黑色 |
255 | 0 | 0 | (255,0,0) | 红色 |
0 | 255 | 0 | (255,0,0) | 绿色 |
0 | 0 | 255 | (255,0,0) | 蓝色 |
139 | 69 | 19 | (139,69,19) | 棕色 |
五、RGB转灰度图
1.浮点算法:Gray = R*0.3 + G*0.59 + B*0.11
2.整数方法:Gray = (R*30+G*59+B*11)/100
3.移位方法:Gray =(R*28+G*151+B*77)>> 8
4.平均值法:Gray = (R+G+B)/3
5.仅取绿色:Gray = G