opencv-python——图像识别入门学习(1)

1、读取图像

首先导入opencv。

import cv2 as cv

如果没有安装,可以在cmd输入:

pip install opencv-python

来安装。

读取图像使用cv.imread()函数,第一个参数是文件名,第二个参数是标志,用于指定图像的读取方式。

cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。
cv.IMREAD_GRAYSCALE:以灰度模式加载图像。
cv.IMREAD_UNCHANGED:加载图像,包括alpha通道。

如果不输入则默认第一种,也可以直接输入整数1、0、-1。

读取一下大名鼎鼎的lena标准测试图(图片须放在工作目录)

img = cv.imread("lena.tiff", 1)
img_gray = cv.imread("lena.tiff", 0)
img_alpha = cv.imread("lena.tiff", -1)

可以print(img)看看,发现是一大串数组。存储的是B、G、R通道的信息(opencv的颜色通道按照BGR排序,而非RGB)。
print(img)的输出结果

2、显示图像

显示图像用cv.imshow(),它也有两个参数,第一个是窗口名称,第二个是要显示的对象。

显示刚才读取的img

cv.imshow("img", img)

运行结果
在这里插入图片描述
多幅图片可以通过循环显示

先定义titles和images列表

titles = ["img", "img_gray", "img_alpha"]
images = [img, img_gray, img_alpha]

for循环显示

for i in range(3):
    cv.imshow(titles[i], images[i])

剩下的两张图:
在这里插入图片描述
在这里插入图片描述
键盘输入任意键时关闭所有窗口

cv.waitKey(0)
cv.destroyAllWindows()

3、写入图像

cv.imwrite()可以保存图像,第一个参数是文件名,第二个是要保存的图像。

cv.imwrite('lena.jpg', img)

这样图像就会以jpg格式保存在工作目录中。
在这里插入图片描述
若想输入s保存图像并退出,输入esc不保存图像直接退出,则加入以下代码:

k = cv.waitKey(0) & 0xff
if k == 27: # 输入esc直接退出
    cv.destroyAllWindows()
elif k == ord('s'): # 输入s保存并退出
    cv.imwrite('lena.jpg', img)
    cv.destroyAllWindows()

完整代码

import cv2 as cv

img = cv.imread("lena.tiff", 1)
img_gray = cv.imread("lena.tiff", 0)
img_alpha = cv.imread("lena.tiff", -1)
cv.imshow("img", img)

titles = ["img", "img_gray", "img_alpha"]
images = [img, img_gray, img_alpha]

for i in range(3):
    cv.imshow(titles[i], images[i])

k = cv.waitKey(0) & 0xff
if k == 27: # 等待esc退出
    cv.destroyAllWindows()
elif k == ord('s'): # 等待s,保存并退出
    cv.imwrite('lena.jpg', img)
    cv.destroyAllWindows()

附上Lena下载地址: Lena测试图.

参考文档:
OpenCV中文官方文档.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值