2016-06-07 Lu Huang
本节实现的是同时使用opencv和matplotlib两种方式来显示图像,以比较二者之间的差别。 测试灰度图像 测试彩色图像 分析彩色图像出现差异的原因 实现过程 引用 不再赘述,代码如下。 python import cv2 import numpy import matplotlib.pyplot as plot 测试灰度图像 打开灰度图像,先用opencv显示,再用matplotlib显示,代码如下: ``` python test for a gray image img1 = cv2.imread("test1.jpg") using opencv cv2.imshow("Gray(opencv 继续阅读 »
2015-08-01 AllanChan
很多对计算机视觉有兴趣的朋友都会了解和使用OpenCV这个知名的开源库。下面然我来介绍一下如何在Mac 上面安装OpenCV3.0 + Python2.7。 Tool: OpenCV 源码 Python2.7 (PS:Python的版本是随你去选择,本文主要针对的是2.7版本。其实Python大部分的Mac/Linux 系统都是自带的,没有必要在此安装。) 继续阅读 »
2016-06-07 Lu Huang
本节实现的是读取视频,并显示视频的每一帧以实现视频的播放。 创建摄像头对象,指向文件 逐帧显示实现视频播放 实现过程 引用 不再赘述,代码如下。 python import cv2 import numpy 创建视频对象 使用opencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。 python cap = cv2.VideoCapture("../test.avi") 逐帧显示实现视频播放 在while循环中,利用视频对象的read()函数读取视频的某帧,并显示,然后等待1个单位时间,如果期间检测到了键盘输入q,则退出,即关闭窗口。 pyt 继续阅读 »
2016-06-12 Lu Huang
本节实现的是使用OpenCV里自带的有关滚动条的函数,可以调节R、G、B三个数值,并显示颜色。 回调函数 滚动条设置 显示设置的颜色 实现过程 引用与创建空图 不再赘述,代码如下。 ``` python import cv2 import numpy empty image img = np.zeros((512, 512, 3), np.uint8) ``` 设置空的回调函数 作为滚动条值变化时的回调函数,这里不需要做任何设置,设置为pass: ```python callbacks def nothing(x): pass ``` 创建四个滚动条 其中三个分别为R、G和B,其值范围为0~25 继续阅读 »
2016-06-12 Lu Huang
本节实现的是使用OpenCV里自带的函数,绘制直线、长方形、圆形和椭圆。 绘制直线 绘制长方形 绘制圆形 绘制椭圆 添加文字 实现过程 引用与创建空图 不再赘述,代码如下。 ``` python import cv2 import numpy empty image img = np.zeros((512, 512, 3), np.uint8) ``` 绘制直线 使用opencv自带的line()函数绘制一条对角线,其声明如下: python cv2.line(img, pt1, pt2, color[, thickness[, lineType[, shift]]]) 其中各种参数的意义如下: img 继续阅读 »
2016-06-04 Lu Huang
本节实现的是提取出彩色图像的三个通道。 打开一个彩色图片 利用系统函数分离三通道 自行分离三通道 显示显示三通道图片 实现过程 引用与打开图片 不再赘述,代码如下。 ``` python import cv2 import numpy img = cv2.imread("test.png") ``` 系统函数分离三通道 opencv里自带了分离三通道的函数split(),返回值依次是蓝色、绿色和红色通道的灰度图,代码如下: python b, g, r = cv2.split(img) cv2.imshow("Blue 1", b) cv2.imshow("Green 1", g) cv2.imshow("Red 继续阅读 »
2016-06-16 Lu Huang
本节实现的是使用OpenCV里自带的函数,检测出视频里图像中的蓝色和天蓝色、青色,比如我的手机背景、我衣服上的蓝色格子,墙砖的蓝色和学生证照片上的蓝色背景。 设置“蓝色”HSV范围 BGR转HSV 捕获摄像头视频 获取蓝色部分mask 图像按位与操作 显示蓝色部分图像 实现过程 定义视频对象 视频对象用于捕获摄像头视频流。 ``` python import cv2 import numpy as np cap = cv2.VideoCapture(0) ``` 设置HSV中蓝色、天蓝色范围 这里主要参考了这个博客,我设置的颜色范围如下。 ```python set blue thresh lower_blue= 继续阅读 »
2016-06-15 Lu Huang
本节实现的是使用OpenCV里自带的函数,将一幅logo加到一张图片上去。 提取mask 利用mask生成带logo图片 实现过程 引用与读取图片 不再赘述,代码如下。 ``` python import cv2 import numpy as np img = cv2.imread('test.png') logo = cv2.imread('logo.jpg') cv2.imshow("Img_Original", img) ``` 获取mask 先将logo转成黑白,然后设置合适的阈值二值化,使得有内容的部分为黑(0),无内容的部分为白(255),这里使用的阈值为205。 ```python logo_gray 继续阅读 »
2018-01-11 geekspeng
现在让我们开始学习如何运行一个传统的“Hello World”程序,这基本上是学习任何编程语言的需要做的第一步。下面将会告诉你如何编写、保存与运行 Python 程序。 通过 Python 来运行的你的程序有两种方法 使用交互式解释器提示符 直接运行一个源代码文件 继续阅读 »
2017-10-15 findneo
栅栏密码加解密 单行版本 python railFence = lambda s: [[i, ''.join([s[k * i + j] for j in range(i) for k in range(len(s) / i)])] for i in range(1, len(s)) if not len(s) % i] print railFence('hello world , 2017 ! ') 正常版本 ```python def railFence(s): ll = len(s) res = dict() for i in range(1, ll): r = '' 继续阅读 »