OpenCV学习心得——python版——图像的载入、显示、保存与色彩空间

OpenCV学习心得——python版——图像的载入、显示、保存与色彩空间
FOR THE SIGMA
FOR THE GTINDER
FOR THE ROBOMASTER

简介:

本笔记仅供参考

操作系统版本:Windows10
编译器:JetBrains PyCharm 2019.1.3 x64
所需库
opencv-python2.xx.xx以上
numpy
pillow

电子版书籍下载地址
暂无资源

内容:

如何在PyCharm安装库:

第一步:打开pycharm任意新建一个项目文件(至于软件怎么安装自己上网查,目前不提供安装教程)
在这里插入图片描述上图中左边为默认选项,右边第一个(location)是你当前建立项目后保存的地点(你自己定义),后面的不变。
第二步:菜单栏—>文件—>设置(旁边带有锤子的图标)打开
在这里插入图片描述在这里插入图片描述选中左边的项目名字,点击右边的+号键来添加库,同时你也可以将上方的选项换成你安装好的库目录,这样就不必每次新建项目都需要添加库。
在这里插入图片描述

图像的载入:

使用函数 cv2.imread() 读入图像。这幅图像应该在此程序的工作路径,或者给函数提供完整路径,第二个参数是要告诉函数应该如何读取这幅图片

类型作用
cv2.IMREAD_COLOR读入一副彩色图像。图像的透明度会被忽略,这是默认参数。
cv2.IMREAD_GRAYSCALE以灰度模式读入图像
cv2.IMREAD_UNCHANGED读入一幅图像,并且包括图像的 alpha 通道

例子:

import cv2

img = cv2.imread('sss.jpg',0) #这里也可以套用路径:"D:\...."

注意:就算图像的路径是错的,OpenCV 也不会提醒你的,但是当你使用命令print img时得到的结果是None。同时因为是读取所以并不会显示图像,请看下一步。

图像的显示:

使用函数 cv2.imshow() 显示图像。窗口会自动调整为图像大小。第一个参数是窗口的名字,其次才是我们的图像。你可以创建多个窗口,只要你喜欢,但是必须给他们不同的名字。

cv2.namedWindow('image', cv2.WINDOW_NORMAL) #创建窗口image,大小自动
cv2.imshow('image',img) #显示img里读取(缓存下来的数据)的图片到image窗口
cv2.waitKey(0) #函数等待特定的几毫秒,以继续进行下一步
cv2.destroyAllWindows() #关闭
保存图像:

使用函数 cv2.imwrite() 来保存一个图像。第一个是你保存的文件名,第二个是你要保存的图像(从img里面)。

cv2.imwrite('messigray.png',img)

最后

import cv2

img = cv2.imread('sss.jpg',0) #读取
cv2.imshow('image',img) #显示
k = cv2.waitKey(0) #按键
if k == 27:
    cv2.destroyAllWindows() #ese关闭
elif k == ord('s'): #另存图像
    cv2.imwrite('messigray.png',img) #写入
    cv2.destroyAllWindows() #关闭
色彩空间:

主要为常见的三种:RGB、GRAY、HSV
转换则为两种:BGR-灰度图,跟BGR-HSV
通过函数

cv2.cetColor(input_image,flag)   # flag就是我们要转换的类型

来转换。
关于三种常见色彩空间的详解可以参考其他博客

参考下面如何提取图中蓝色部分
提取蓝色物体步骤:
1、从视频中获取每一帧图像如果是图像则直接截取
2、将图像转换到HSV空间
3、设置HSV阈值到蓝色范围
4、获取蓝色物体

import cv2
import numpy as np

img=cv2.imread('sss.jpg',cv2.IMREAD_COLOR) #读取

hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV) #hsv转换

lower_blue=np.array([110,50,50])   #HSV阈值到蓝色范围
upper_blue=np.array([130,255,255])

mask=cv2.inRange(hsv,lower_blue,upper_blue) #构建物体掩膜(HSV)
res=cv2.bitwise_and(img,img,mask=mask) #对原图像和掩膜进行位运算并输入为res

cv2.imshow('hsv',hsv) #显示hsv
cv2.imshow('mask',mask) #显示物体掩膜
cv2.imshow('res',res) #显示提取图
cv2.imshow('img',img) #显示原图
k=res=cv2.waitKey(5)&0xFF #按键
while k==27: #退出
    break
cv2.waitKey(0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值