python + opencv 第2节 读取,显示,保存一张图片

# 本节学习 opencv怎么读入,显示和保存一张图片
# 对应三个函数
# 1. cv.imread(路径, 读取方式)
# 读取方式有三个选项
# a. cv2.IMREAD_COLOR : 读入一副彩色图像。图像透明度会被忽略,这是默认参数
# b. cv2.IMREAD_GRAYSCALE : 以灰度模式读入图像
# c. cv2.IMREAD_UNCHANGED : 读入一幅图像,并且包括图像的alpha通道
# 返回值 : 图像读取成功,返回一个三维的ndarray数组,如果图片不存在,不会报错,但是print(img)是 None
import cv2
img = cv2.imread('lenna.png', cv2.IMREAD_COLOR)
print(type(img)) # <class 'numpy.ndarray'>
print(img)
print(img.shape) #输出 (512, 512, 3) 对应图像的 高度,宽度,和通道(RGB)


# 2. cv.imshow(窗口名称, 显示的图像)
# 显示图片方式1,用cv2.imshow()创建窗口
cv2.imshow('lenna', img)
k = cv2.waitKey(0)
if k == 27:
    cv2.destroyWindow('lenna')

# 显示图片方式2,先创建窗口,再将图片加载到该窗口
# cv2.namedWindow('lenna', cv2.WINDOW_NORMAL) #图像随窗口一起放大缩小
# cv2.imshow('lenna', img)
# k = cv2.waitKey(0)
# if k == 27:
#     cv2.destroyAllWindows()


# 3. cv.imwrite(filename, img, num)
# CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,
#               const std::vector<int>& params = std::vector<int>());
# 参数1 filename : 要保存的文件名
# 参数2 img : 要保存的图像,或者说 Mat类型的图像数据
# 参数3 num : 特定格式保存的参数编码 默认值 std::vector<int>(), 可不写

cv2.imwrite('lenna_copy.png', img)
发布了80 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qiukapi/article/details/104434210
今日推荐