前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-OpenCV(1)

Python-OpenCV(1)

作者头像
GavinZhou
发布2018-01-02 15:17:44
1.2K0
发布2018-01-02 15:17:44
举报

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

现在决定使用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搜索路径????

选择个路径放下去就行了,我的是/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()

效果是:

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()

结果:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-03-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 华丽的分割线
  • 安装OpenCV
  • 图像的读入、显示、保存
  • OpenCV中的绘图函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档