OpenCV(1)——基本图像读写

引用的模块为import cv2

1. 图像读取

1.1 图像变成数据

函数接口:img=cv2.imread("相片绝对路径or相对路径")

import cv2
img = cv2.imread("578.jpg") #img是一个numpy.ndarray对象,默认是以BGR三通道读取图片数据(三维数组)
  • 函数返回的是什么:
    跟注释一样,该函数返回的是存储着图像BGR(Blue、Green、Red)信息的三维数组;

1.1.1 BGR和RGB

RGB代表红绿蓝。大多数情况下,RGB颜色存储在结构或无符号整数中,蓝色占据最不重要的“区域”(32位和24位格式的字节),绿色第二少,红色第三少。

BGR是相同的,除了区域顺序颠倒。红色占据最不重要的区域,绿色占第二位(静止),蓝色占第三位。

示例:

#FF0000在读取为RGB十六进制颜色(#rrggbb)时为纯红色,因为第三个区域(数字从右向左读取!)为FF(最大值,全彩色),其他两个区域为00(最小值)价值,没有颜色).如果#FF0000被读作BGR十六进制颜色,则它是纯蓝色。

1.1.2 关于三维数组的解释

OpenCV(1)——基本图像读写_第1张图片
for(高)
{
for(宽)
{
for(BGR[x,x,x])
}
}

1.2 提取图片信息

函数接口:img.shape
返回元组:(高,宽,通道数)
OpenCV(1)——基本图像读写_第2张图片

1.3 显示图片

函数接口:cv2.imshow('方框标题', 存储图像的三维数组)
使用这个函数之后则会把图片显示出来,但是一闪而过当然是不行了,所以我们添加了一个暂停函数cv2.waitKey(0)

# 显示图片
cv2.imshow('pic title', img)
cv2.waitKey(0)

2. 图片的写入

2.1 添加文字

函数接口:cv2.putText(存储图片的三维数组,“打印的字符”,(x,y),字体,字号大小,(颜色B,G,R),字体厚度)

# 添加文字
cv2.putText(img, 'Learn Python with OpenCV', (640-255, 853-255), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 3)

2.2 保存图片

函数接口:cv2.imwrite('绝对路径/.图片格式or相对路径', img)

# 保存图片
cv2.imwrite('Lenna_new.png', img)

参考资料

OpenCV-Python,计算机视觉开发利器
【建议收藏】16个OpenCV函数开始你的计算机视觉之旅

你可能感兴趣的:(Python,opencv,计算机视觉,python)