Python-OpenCV(1)

前面的几个博客写的乱七八糟的,一来是初学数字图像,二是之前没有写过博客,所以对不起之前看我博客的各位啦!!!!!!

现在决定使用python重新写这个系列,不再使用Matlab作为工具,原因有一下几点:

<1> 学习Python
<2> 可以使用Numpy、Matplotlib等,效果不逊色于Matlab
<3> 工作环境转为Linux(Ubuntu14.04),Matlab懒的装

环境说明:

(1) 使用OpenCV作为图像处理库,不再使用PIL,原因很简单,PIL相比OpenCV就是个渣

(2) 使用OpenCV的python版本接口,不使用C++版本

(3) 使用Ubuntu14.04作为OS,结合Numpy,Matplotlib使用

华丽的分割线

安装OpenCV

OpenCV下载地址,推荐下载2.4版本以上的,我使用的是2.4.8版本的

大家可以参考这篇文章来安装好OpenCV,或者大家使用我提供的OpenCV,下面我会说怎么安装

我的so文件的下载地址,大家先下载下来,将其放入到python搜索路径下即可

如何查看自己的python搜索路径????

Python-OpenCV(1)_第1张图片

选择个路径放下去就行了,我的是/usr/lib/python2.7/dist-packages,很简单的吧

测试下:

import没有出错的话,表示已经好了,恭喜!!!!

图像的读入、显示、保存

cv2.imread() # 图像读入
cv2.imshow() # 图像显示
cv2.imwrite() # 图像保存

示例代码:

__author__ = 'gavinzhou'
# -*- coding: utf-8 -*-

import cv2
import os

# 获得图像路径
img_path = os.path.join(os.getcwd(), 'images', '0.jpg')

# 读入灰度图
img_gray = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)

# 读入彩图
img_color = cv2.imread(img_path, cv2.IMREAD_COLOR)

# 显示图片
cv2.imshow('grayPic', img_gray)
cv2.imshow('colorPic', img_color)

# 等待用户输入
cv2.waitKey(5000)
# 销毁所有窗口
cv2.destroyAllWindows()

效果是:

Python-OpenCV(1)_第2张图片

OpenCV中的绘图函数

cv2.line() # 直线
cv2.circle() # 圆
cv2.rectangle() # 矩形
cv2.ellipse() # 椭圆
cv2.putText() # 输入文字

可以设置诸如:
color*thicknesslinetype之类的参数

函数原型(C++):

void cvLine( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int line_type=8, int shift=0 )

void cvRectangle( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color,int thickness=1, int line_type=8, int shift=0 ;CvSize min_size=cvSize(0,0);CvSize max=cvSize(0,0))

可以看出使用的方法大概是:
需要画图的背景,起点,终点,颜色,粗细等等

示例:

__author__ = 'gavinzhou'
# -*- coding: utf-8 -*-

import cv2
import os
import numpy as np

# 使用numpy初始化一个全黑的图,不了解的可以看我的博客
background = np.zeros((512, 512, 3), dtype=np.uint8)

# 画红线
cv2.line(background, (0, 0), (511, 511), thickness=5, color=(255, 0, 0))

# 画绿色矩形
cv2.rectangle(background, (10, 10), (100, 100), color=(0, 255, 0), thickness=5)

# 画半个椭圆
cv2.ellipse(background, (256, 256), (100, 50), 0, 0, 180, 255, -1)

# 输入紫色的"OpenCV"文字
cv2.putText(background, 'OpenCV', (30, 200), cv2.FONT_ITALIC, 4, color=(255, 0, 255), thickness=5)

cv2.imshow('IMG', background)
cv2.waitKey(5000)
cv2.destroyAllWindows()

结果:

你可能感兴趣的:(python,图像,opencv)