『OpenCV3』简单图片处理】的更多相关文章

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) # 单通道转化…
一.遍历图像实现色彩掩码 本节我们实现这样一个算法,我们指定某种颜色和一个阈值,根据输入图片生成一张掩码,标记符合的像素(和指定颜色的差异在阈值容忍内). 源代码如下,我们使用一个class完成这个目标,其指定了两种构建函数,并通过逐像素扫描的形式生成掩码(process成员函数).另外,本class做了仿函数处理(operator成员函数),类似于python中的__call__方法,可以直接调用实例像函数一样进行处理.注意迭代器的使用,需要++it而非 class ColorDetector…
一.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的步长)分别计算出每个点上的所有可能的直线.记录下每条直线经过的点数(即存在多个点计…
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…
tf.pad()文档如下, pad(tensor, paddings, mode='CONSTANT', name=None, constant_values=0)    Pads a tensor.        This operation pads a `tensor` according to the `paddings` you specify.    `paddings` is an integer tensor with shape `[n, 2]`, where n is the…
一.原理简介 边缘检测原理 - 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;…
TensorFlow:官方文档 TensorFlow:项目地址 本篇列出文章对于全零新手不太合适,可以尝试TensorFlow入门系列博客,搭配其他资料进行学习. Keras使用tf.Session训练方法教程 一.API介绍 基础操作列表 『TensorFlow』0.x_&_1.x版本框架改动汇总 『TensorFlow』函数查询列表_数值计算 『TensorFlow』函数查询列表_张量属性调整 『TensorFlow』简单的数学计算 『TensorFlow』变量初始化 常用基础操作 『Ten…