2016-06-10 Lu Huang
本节实现的是使用OpenCV里自带的函数,将两幅图片按照特定的比例融合 实现过程 引用与读取图片 不再赘述,代码如下。 ```python import cv2 import numpy img1 = cv2.imread('test1.png') img2 = cv2.imread('test2.png') ``` 融合图片 利用addWeighted()函数,将图片1的比例设置为0.6,图片2的0.4,如下: python mg_mix = cv2.addWeighted(img1, 0.6, img2, 0.4, 0) 显示图片 分别显示两幅原图和融合后的图片: ```python cv2.imsh 继续阅读 »
2011-08-01 Jamling
简介 在linuxt系统下使用OpenCV2.3 + NDK R6编译 OpenCV人脸检测应用 more 准备 Android NDK ( r5或更高版本) 下载地址:http://developer.android.com/sdk/ndk/index.html OpenCV Android包 http://sourceforge.net/projects/opencvlibrary/files/opencv-android/2.3/ cmake(可选,替代NDK) 参考:http://www.cmake.org/ 继续阅读 »
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-18 Lu Huang
本节实现的是使用OpenCV里自带的函数,计算程序的执行时间。 获取系统时钟数 获取系统时钟频率 实现过程 初始时间 不再赘述,代码如下。 ``` python time start t1 = cv2.getTickCount() ``` 执行代码 我这里执行的是之前绘制直方图的代码,请参考我的博客和GitHub。 结束时间 获取程序结束时间。 ```python time end t2 = cv2.getTickCount() ``` 计算执行秒数 利用getTickFrequency()获取时钟频率。 python t = (t2-t1)/cv2.getTickFrequency() print 继续阅读 »
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-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 继续阅读 »
2016-06-07 Lu Huang
本节实现的是读取视频,并显示视频的每一帧以实现视频的播放。 创建摄像头对象,指向文件 逐帧显示实现视频播放 实现过程 引用 不再赘述,代码如下。 python import cv2 import numpy 创建视频对象 使用opencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。 python cap = cv2.VideoCapture("../test.avi") 逐帧显示实现视频播放 在while循环中,利用视频对象的read()函数读取视频的某帧,并显示,然后等待1个单位时间,如果期间检测到了键盘输入q,则退出,即关闭窗口。 pyt 继续阅读 »
2015-08-01 AllanChan
很多对计算机视觉有兴趣的朋友都会了解和使用OpenCV这个知名的开源库。下面然我来介绍一下如何在Mac 上面安装OpenCV3.0 + Python2.7。 Tool: OpenCV 源码 Python2.7 (PS:Python的版本是随你去选择,本文主要针对的是2.7版本。其实Python大部分的Mac/Linux 系统都是自带的,没有必要在此安装。) 继续阅读 »
2016-06-09 Lu Huang
本节实现的是使用内建摄像头捕获视频,并显示视频的每一帧以实现视频的播放。 创建摄像头对象 逐帧显示实现视频播放 实现过程 引用 不再赘述,代码如下。 python import cv2 import numpy import matplotlib.pyplot as plot 创建摄像头对象 使用opencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。 python cap = cv2.VideoCapture(0) 逐帧显示实现视频播放 在while循环中,利用摄像头对象的read()函数读取视频的某帧,并显示,然后等待1个单位时间,如果期间 继续阅读 »
2016-06-03 Lu Huang
本节实现的是在图片上模拟机上椒盐噪声,主要过程如下。 打开一个图片 产生随机坐标 加上“椒盐” 显示加噪图片 实现过程 引用 这里我们需要引用cv2和numpy,cv2不言而喻,而NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 python import cv2 import numpy 打开图片 cv2库里的函数imread()用来读取图片,imshow()可用于显示图片,此外imwrite可以用来写图片,即保存图片。这里把显示图片的窗口指定为“Image”。 python img = cv2.imread("test.png") 加 继续阅读 »