目录

Opencv在Python中的使用

Opencv在Python中的使用

原文地址:https://blog.csdn.net/nature_XD/article/details/70768022

OpenCV是一个C++库,用于实时处理计算机视觉方面的问题,涵盖了很多计算机视觉领域的模块。

OpenCV有两个Python接口,老版本的cv模块使用OpenCV内置的数据类型,新版本的cv2模块使用NumPy数组。对于新版本的模块,可以通过下面方式导入:

import cv2

而老版本的模块则通过下面方式导入:

import cv2.cv
1.1 在Python中配置opencv

本机Win7,Python3.5,OpenCV2.4.9

D:\OpenCV\opencv\build\python\2.7\x86 下的cv2.pyd文件copy到 D:\Python\Python35-32\Lib\site-packages 文件夹中。

出现错误:

https://i-blog.csdnimg.cn/blog_migrate/ee22f875671b4a0e2b42432360875ecb.png

尽管有博客言之:目前opencv只支持python2.6和python2.7,不死心,终于被我发现了下面这个博客:

  1. 找到指定的版本,下载相应的opencv:

  2. 使用pip安装 pip install *.whl

    https://i-blog.csdnimg.cn/blog_migrate/0466806d5e80b95b34fa7023bb663774.png

  3. 测试,安装成功!

    https://i-blog.csdnimg.cn/blog_migrate/7d3128432c2b5ec831504d266f1c45b7.png

1.2 读取、写入图像

下面是一个简单地载入图像、打印尺寸,保存图像的例子:

#!/usr/bin/env python3        
# -*- coding: utf-8 -*-  
import cv2

# 载入图像
im = cv2.imread('./0.png')

# 打印图像尺寸
h,w = im.shape[:2]
print(h,w)

# 保存PNG格式图像为JPEG格式
cv2.imwrite('./0.jpg',im)
1.3 颜色空间转换

在OpenCV中,图像不是用常规的RGB颜色通道来存储的,他们用的顺序是BGR顺序。当读取一幅图像后,默认的是BGR,不过有很多转换方式可以利用。颜色空间转换函数可以用cvtColor()完成。

#!/usr/bin/env python3        
# -*- coding: utf-8 -*-  
import cv2

# 载入图像
im = cv2.imread('./2.png')
print(im.shape)

# create a grayscale version
gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
print(gray.shape)

结果为:

https://i-blog.csdnimg.cn/blog_migrate/0eeb9e9d1345b6e8c2ad79628d8c0e1b.png

1.4 显示图像
#!/usr/bin/env python3        
# -*- coding: utf-8 -*-  
import cv2
# from matplotlib import pyplot as plt
from pylab import *

# 添加中文字体支持
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\SimSun.ttc",size = 14)

# 载入图像
im = cv2.imread('Middlebury_01_clean_color.png')

# 颜色空间转换
gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)

# 显示原始图像
fig = plt.figure()
subplot(121)
plt.gray()
imshow(im)
title(u'彩色图', fontproperties= font)
axis('off')
# 显示灰度化图像
plt.subplot(122)
plt.gray()
imshow(gray)
title(u'灰度图', fontproperties= font)
axis('off')

show()

显示结果:

https://i-blog.csdnimg.cn/blog_migrate/bff370f9f93ca4a2935274d79a170f7d.png

参考链接: