随笔分类 - opencv
opencv学习
摘要:语法 读取图片,并进行质量压缩,语法imwrite(filename, img, params=None) 注意 注意这里的params,是(paramId_1, paramValue_1, paramId_2, paramValue_2, ... .)这种写法,其中paramId需要去查,针对图片
阅读全文
摘要:import cv2 import numpy as np # 设定要展示窗口的大小,一个窗口直接展示两张图片,一个窗口展示拼接之后的图片 cv2.namedWindow('img', cv2.WINDOW_NORMAL) cv2.resizeWindow('img', 1500, 700) cv2
阅读全文
摘要:示例 import cv2 import numpy as np def imshow(window_name, img): window_width = img.shape[1] window_height = img.shape[0] cv2.namedWindow(window_name, 0
阅读全文
摘要:车辆统计项目 1. 整体流程 加载视频 通过形态学识别车辆 对车辆进行统计 显示车辆统计信息 2. 关键技术 形态学 轮廓查找 3. 知识补充 背景减除(Background Subtraction)是许多基于计算机视觉的任务中的主要预处理步骤。如果我们有完整的静止的背景帧,那么我们可以通过帧差法来
阅读全文
摘要:1. 图像直方图 直方图是一种对数据分布情况的图形表示,是一种二位统计图表。图像直方图,是用一表示数字图像中亮度分布的直方图,标绘了图像中每个亮度值的像素数。可以借以观察该直方图了解需要如何调整亮度分布的直方图。这种直方图中,横坐标的左侧为纯黑、较暗的区域,而右侧为较亮、纯白的区域。因此,一张较暗图
阅读全文
摘要:1. 高斯金字塔 (1)下采样原理 (2)上采样原理 img = cv2.imread('./lena.jpg') # 分辨率减小的操作,下采样 dst = cv2.pyrDown(img) # 分辨率增大的操作,上采样 dst = cv2.pyrUp(img) 2. 拉普拉斯金字塔
阅读全文
摘要:1. 轮廓 findContours(image, mode, method[, contours[, hierarchy[, offset]]]) mode查找轮廓的模式 cv2.RETR_EXTERNAL = 0,表示指检测外围扩阔 cv2.RETR_LIST = 1,检测的轮廓不建立等级关系,
阅读全文
摘要:1. 形态学-腐蚀 腐蚀是元素全为1的卷积核 方法: erode(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]]) iterations是腐蚀操作的迭代次数,次数越多,腐蚀操作执行的次数越多,腐蚀效果越明
阅读全文
摘要:1. 全局二值化 参考资料2 cv2.threshold(src, thresh, maxval, type[, dst]),返回值为retval, dst src 是灰度图 thresh 阈值 maxval 最大值,最大值不一定是255 type 操作类型,常见操作类型如下 返回值说明: retv
阅读全文
摘要:1. 索贝尔(sobel)算子 前面的各种滤波,可以视为低通滤波,后面的各种算子可以视为高通滤波,区别:前面的滤波都是降噪的,算子都是来找图像边界、边缘的。索贝尔算子模拟一阶求导,倒数越大的地方说明变换越剧烈,越有可能是边缘。 Sobel(src, ddepth, dx, dy[, dst[, ks
阅读全文
摘要:滤波 1. 卷积滤波 filter2D(src, ddepth, kernel, dst[, anchor[, delta[, borderType]]]) ddepth是卷积之后图片的位深,即卷积之后图片的数据类型,一般设为-1,表示和原图类型一致; kernel是卷积核大小,用元组或ndarra
阅读全文
摘要:图像的翻转、旋转、仿射变换、透视变换 flip 翻转操作,flipCode=0上下翻转,>0左右翻转,<0上下+左右翻转 rotate 旋转操作,只能三种旋转方式,以cv2.ROTATE_开头 warpAffine 仿射变换是图像旋转,缩放,平移的总称,具体的做法是通过一个矩阵和原图片坐标进行计算,
阅读全文
摘要:图像基本运算和位运算 bitwise_or 或操作 bitwise_and 与操作 bitwise_not 非操作 bitwise_xor 异或操作,说明:四个操作里面存在一个mask掩码可选参数 add 每个像素相加,超出255的数字会被截断,相当于 % 256 addWeighted 两张图按比
阅读全文
摘要:绘制基本的图形 直线line() 矩形rectangle() 圆circle() 椭圆ellipse() 多边形polylines() 填充的多边形fillPoly() 文本putText() 示例:动态绘制一个矩形框(通过键盘选择矩形、圆),要求实时性,基本不延迟 import cv2 impor
阅读全文
摘要:""" # 安装 pip install pillow # 查看是否安装了该库 pip list | findstr Pillow """ # 引用pillow的写法 from PIL import ImageFont, ImageDraw, Image # 在opencv的绘图中是不支持中文的,需
阅读全文
摘要:import cv2 import numpy as np # 创建背景图 img = np.zeros((480, 640, 3), np.uint8) startpos = (0, 0) curshape = 0 # 要监听鼠标的行为,必须通过鼠标回调函数实现 def mouse_callbac
阅读全文
摘要:import cv2 cv2.namedWindow('video', cv2.WINDOW_NORMAL) cv2.resizeWindow('video', 800, 600) # 打开摄像头 如果填写序号,表示要打开的摄像头,如果是要打开视频文件,直接填写文件的地址 cap = cv2.Vid
阅读全文
摘要:1. 安装opencv # 跟python的版本有关系 pip install opencv-python==4.5.1.48 matplotlib -i https://pypi.douban.com/simple # opencv-contrib-python是扩展包,上面和下面安装一个就可以了
阅读全文

浙公网安备 33010602011771号