
Python OpenCV
文章平均质量分 77
莫克丁
这个作者很懒,什么都没留下…
展开
-
python OpenCV 图像通道分离和合并 (四)
图像通道分离有两种方法,一个是使用OpenCV自带的split 函数,还有一个是使用Numpy数组来分离通道.使用OpenCV 自带 split函数#!/usr/bin/env python # encoding: utf-8 import cv2 import numpy as np img = cv2.imread("mini.jpg")b,g,r转载 2013-12-28 16:43:32 · 14187 阅读 · 3 评论 -
Python OpenCV -- Sobel 算子(九)
Sobel 算子 Sobel 算子 -- 是一种带有方向性的滤波器, 在Python 中的原型:dst = cv2.Sobel(src, ddepth, dx, dy[, dst[, ksize[, scale[, delta[, borderType]]]]])src -- 原图像ddepth -- 图像的深度,-1 表示采用的是与原图像相同的深度。目标图像的深转载 2014-02-19 18:27:46 · 5986 阅读 · 0 评论 -
Python OpenCV -- Laplacian 算子(十)
Laplacian 算子: 原理分析: Sobel 算子 : 在一个图像区域中的边缘部分,像素值出现“跳跃”或者较大的变化。如果在此边缘部分求取一阶导数,会看到极值的出现如图: 如果在边缘部分求二阶导数会出现什么情况? 会发现在一阶导数的极值位置,二阶导数为0 。所以我们也可以用这个特点来作为检测图像边缘的方法。但是,二阶导数的 0 值不仅仅出现在边缘(转载 2014-02-20 03:14:41 · 7574 阅读 · 0 评论 -
Python OpenCV 滤波器 使用(八)
一:低通滤波器 低通滤波器的目标是降低图像的变化率,比如将第一个像素替换为该像素周围像素的均值。这样就可以平滑并替代那些强度变化明显的区域。 OpenCV 使用blur 函数做到:dst = cv2.blur(image,(5,5)); # dst -- 处理后的图像# image -- 待平滑处理的图像#(5,5) -- 低通滤波器的大小简单使用示例:转载 2014-02-18 00:54:09 · 4530 阅读 · 0 评论 -
Python OpenCV 线性滤波器 简介(七)
简介 过滤是信号和图像处理中基本的任务。其目的是根据应用环境的不同,选择性的提取图像中某些认为是重要的信息。 过滤可以移除图像中的噪音、提取感兴趣的可视特征、允许图像重采样,等等。 当我们观察一张图片时,我们观察的是图像中有多少灰度级(或颜色)及其分布。根据灰度分布的不同来区分不同的图像。 频率域分析,是将图像分成从低频到高频的不同部分转载 2014-02-16 00:56:34 · 2660 阅读 · 0 评论 -
Python OpenCV 形态学 (六)
形态学的操作包括:腐蚀、膨胀、细化、开运算、闭运算 数字图像处理中的形态学处理是指将数字形态学作为工具从图像中提取对于表达和描绘区域形状有用处的图像分量,比如:边界、骨架、以及凸壳,还包括用于预处理或后处理的形态学过滤、细化和修剪等。图像形态学处理中主要是二值图像。一 基本概念:1. 二值图像: 二值图像是每个像素只有两个可能值的数字图像。常用黑白、B&W转载 2014-02-15 00:27:28 · 15181 阅读 · 0 评论 -
Python OpenCV -- 直方图均衡化(十三)
直方图均衡化 直方图是图像中像素强度分布的图形表达方式。它统计了每一个强度值所具有的像素个数。 直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法。 通过上图转载 2014-02-25 01:18:44 · 3574 阅读 · 0 评论 -
Python OpenCV -- 霍夫线变换(十二)
霍夫线变换 1. 霍夫线变换是一种用来寻找直线的方法. 2. 是用霍夫线变换之前, 首先要对图像进行边缘检测的处理,也即霍夫线变换的直接输入只能是边缘二值图像.实现: 1. 一条直线在图像二维空间可由两个变量表示. 例如: a. 在 笛卡尔坐标系: 可由参数: (m,b) 斜率和截距表示. b. 在 极坐标系: 可由参数: (r,转载 2014-02-24 00:25:44 · 11490 阅读 · 3 评论 -
Python OpenCV -- Canny 边缘检测 (十一)
Canny 边缘检测原理 Canny 边缘检测算法 是 John F. Canny 于 1986年开发出来的一个多级边缘检测算法,也被很多人认为是边缘检测的 最优算法, 最优边缘检测的三个主要评价标准是: 低错误率: 标识出尽可能多的实际边缘,同时尽可能的减少噪声产生的误报。 高定位性: 标识出的边缘要与图像中的实际边缘尽可能接近。 最小响应: 图像中的边缘只能标识一次转载 2014-02-21 13:00:19 · 16276 阅读 · 0 评论 -
python OpenCV 图像像素访问 (三)
访问图像像素#!/usr/bin/env python # encoding: utf-8 import numpy as npimport cv2#像素的访问和访问numpy中ndarray的方法完全一样img[j,i] = 255 # 灰度图访问;j,i 分别表示图像的行和列#BGR 图像访问img[j,i,0] = 255 # 0 -- 为通道,指B通道i转载 2013-12-27 19:56:30 · 12315 阅读 · 1 评论 -
python OpenCV 读取图片显示和复制 (二)
读取和显示图像#读取和显示图像def showimg(imagePath): img = cv2.imread(imagePath) #读取本地图片,目前OpevCV支持bmp、jpg、png、tiff cv2.namedWindow("Image") #创建一个窗口用来显示图片 cv2.imshow("Image", img) #显示图片转载 2013-12-26 23:34:36 · 40785 阅读 · 0 评论 -
python OpenCV 安装 (一)
python OpenCV 安装 (一)准备软件:Install python-2.7.5.msiInstall Scipy-stack-13.4.9.win32-py2.7.exeInstall scikit-learn-0.13.1.win32-py2.7.exeInstall opencv-python-2.4.5.win32-py2.7.exeI转载 2013-12-24 18:17:52 · 2134 阅读 · 1 评论 -
Python OpenCV 直方图 (五)
直方图python 调用 calcHist 返回 hist (直方图)calcHist 函数:cv2.calcHist([images], channels, mask, histSize, ranges[, hist[, accumulate ]]) #返回hist 参数说明: images -- 图像对像 channels转载 2014-01-05 21:49:12 · 3787 阅读 · 0 评论 -
python OpenCV 图像通道分离和合并 (四)
图像通道分离有两种方法,一个是使用OpenCV自带的split 函数,还有一个是使用Numpy数组来分离通道.使用OpenCV 自带 split函数#!/usr/bin/env python # encoding: utf-8 import cv2 import numpy as np img = cv2.imread("mini.jpg")b,g,r =转载 2013-12-29 15:30:33 · 9425 阅读 · 0 评论 -
Python OpenCV -- 轮廓检测 (十四)
轮廓检测 Canny 之类的边缘检测算法可以根据像素间的差异检测出轮廓边界,但是它并没有将轮廓作为一个整体 轮廓是构成任何一个形状的边界或外形线。直方图对比和模板匹配根据色彩的分布来进行匹配,以下包括:轮廓的查找、 表达方式、组织方式、绘制、特性、匹配。查找轮廓 可以使用OpenCV 自带的 cv2.findContours 函数来查找检测物体转载 2014-03-05 16:01:22 · 9535 阅读 · 0 评论