什么是OpenCV
OpenCV是一个库,可以使用它对图像进行处理,其应用十分广泛。虽然它是一个C++库,但是在其他编程语言中也可以使用它。下面以python为例,介绍python中OpenCV库的使用。
OpenCV的安装
在Windows中安装极其简单,直接在自己使用的编译环境下的终端中输入如下命令:
pip install opencv-contrib-python --upgrade
安装完成后可以使用如下命令来测试OpenCV是否成功安装:
D:\Programs\Thonny>python
Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 14 2019, 23:09:19) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> print(cv2.__version__)
4.5.1
若是在安装过程中出现问题可以去官网查看安装的详细教程。
OpenCV的使用
- 读取、写入图像
我们首先下载好一种图片,命名为pictureOrign.jpg将其与我们编写的Python代码放在同一个文件夹下,这样接下来便可以用./pictureOrign.jpg
来表示图像的位置了。其中./
是当前目录下的意思。我选择的图像的原图如下:
然后使用opencv对其进行处理:
import cv2
#载入图像
im = cv2.imread('./pictureOrign.jpg')
#打印图像尺寸
height,weight = im.shape[:2]
print(height,weight)
#将图像以png的格式另存为hello.png
cv2.imwrite('./hello.png',im)
输出如下:
- 颜色转换和显示图像
在OpenCV中,颜色模式的默认设置顺序为BGR,是不是和我们经常听到的RGB不同?在这里我们选择用来查看图像的库Matplotlib则是用我们熟悉的RGB模式来显示图像的,所以如果不对颜色模式进行转换直接将图像显示出来,那图像的颜色会感觉怪怪的。
接下来,我们还是使用刚才下载好的图片即pictureOrign.jpg来进行演示
import cv2
import matplotlib.pyplot as plt
# 载入图像
im = cv2.imread('./pictureOrign.jpg')
# 显示图像
plt.imshow(im)
plt.show()
这样便是直接打开我们准备好的图像,不对颜色模式进行转换:
与原图进行对比,颜色差异很大。
然后我们将颜色模式转换后再来看看:
转换代码如下:
import cv2
import matplotlib.pyplot as plt
# 载入图像
im = cv2.imread('./pictureOrign.jpg')
# 转换颜色模式
im2 = cv2.cvtColor(im,cv2.COLOR_BGR2RGB)
# 显示图像
plt.imshow(im2)
plt.show()
转换后图像如下:
可以看出其与原图基本一模一样。