一.原理简介 边缘检测原理 - Sobel, Laplace, Canny算子 X方向Sobel算子 -1 -2 -1 0 0 0 1 2 1 Y方向Sobel算子 -1 0 1 -2 0 2 -1 0 1 Laplace算子 1 1 1 1 -8 1 1 1 1 Canny 边缘检测算子 高斯滤波器平滑图像 一阶差分偏导计算梯度值和方向 对梯度值不是极大值的地方进行抑制 用双阈值连接图上的联通点 通俗说一下, 1.用高斯滤波主要是去掉图像上的噪声. 2.计算一阶差分,OpenCV 源码中也是用…
一.滤波器实现 我们实现这样一个基于拉普拉斯算子的滤波器核心,并使用它进行滤波,这可以做到锐化图像的效果, 0 -1 0 -1 5 -1 0 -1 0 首先我们完全手动的进行滤波,依赖指针操作, void sharpen(const cv::Mat &image, cv::Mat &result) { result.create(image.size(), image.type()); std::cout << image.size() << std::endl;…
一.OpenCV接口调用示意 介绍了OpenCV3中提取图像角点特征的函数: # coding=utf- import cv2 import numpy as np '''Harris算法角点特征提取''' img = cv2.imread('chess_board.png') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) gray = np.float32(gray) # {标记点大小,敏感度(~,越小越敏感)} # OpenCV函数cv2.corne…
霍夫变换常用于检测直线特征,经扩展后的霍夫变换也可以检测其他简单的图像结构. 在霍夫变换中我们常用公式 ρ = x*cosθ + y*sinθ 表示直线,其中ρ是圆的半径(也可以理解为原点到直线的距离),θ是直线与水平线所成的角度(0~180°),确定了它们,也就确定一条直线了,和下图略有出入的是实际的原点定在图片左上角. 原理是对于输入的二值图像中的像素点(有值的),按照步长(参数三参数四对应rho和theta的步长)分别计算出每个点上的所有可能的直线.记录下每条直线经过的点数(即存在多个点计…
一.遍历图像实现色彩掩码 本节我们实现这样一个算法,我们指定某种颜色和一个阈值,根据输入图片生成一张掩码,标记符合的像素(和指定颜色的差异在阈值容忍内). 源代码如下,我们使用一个class完成这个目标,其指定了两种构建函数,并通过逐像素扫描的形式生成掩码(process成员函数).另外,本class做了仿函数处理(operator成员函数),类似于python中的__call__方法,可以直接调用实例像函数一样进行处理.注意迭代器的使用,需要++it而非 class ColorDetector…
Mat属性方法介绍:OpenCV2:Mat属性type,depth,step 推荐一套OpenCV入门博客:OpenCV探索 一.Mat Mat类用于表示一个多维的单通道或者多通道的稠密数组.能够用来保存实数或复数的向量.矩阵,灰度或彩色图像,立体元素,点云,张量以及直方图(高维的直方图使用SparseMat保存比较好).简而言之,Mat就是用来保存多维的矩阵的. Mat存储 Mat分为头信息和数组body两部分,头信息声明后即创建,body需要调用create方法或者其他方法后才划取内存创建.…
在opencv中,摄像头和视频文件并没有很大不同,都是一个可以read的数据源,使用cv2.VideoCapture(path).read()可以获取(flag,当前帧),对于每一帧,使用图片处理函数即可. 调用摄像头并记录为文件: # 摄像头读取并写入文件 cameraCapture = cv2.VideoCapture(0) # 获取摄像头对象 fps = 30 size = (int(cameraCapture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cam…
cv2和numpy深度契合,其图片读入后就是numpy.array,只不过dtype比较不常用而已,支持全部数组方法 数组既图片 import numpy as np import cv2 img = np.zeros((3, 3), dtype=np.uint8) # numpy数组使用np.uint8编码就是cv2图片格式 print(img, '\n', img.shape, '\n') img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) # 单通道转化…
项目中关于 $location的用法 简介 $location服务解析在浏览器地址栏中的URL(基于window.location)并且让URL在你的应用中可用.改变在地址栏中的URL会作用到$location服务,同样的,改变$location服务也会改变浏览器的地址栏.(可以使用$location进行重定向等操作) $location服务: 暴露浏览器地址栏中的URL,让你可以: 监察URL. 改变URL. 与浏览器同步URL,当: 改变地址栏. 单击『前进』『后退』或一个历史记录中的链接.…
[原创] [2014.12.02更新网盘链接]基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装 joinlidong 发表于 2014-11-29 14:25:50 https://www.itsk.com/thread-341565-1-4.html [原创] [2014.12.02更新网盘链接]基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装 上周末开始做的,结果没做完,零零散散通过视频拼接,每天录一点点,今天终于制作好…