![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV
Donald Su
公众号:"Donald Su",微:sug2010
展开
-
“OpenCV保存视频失败,只有6KB”原因分析和解决方法
1. 问题描述:学习OpenCV tutorials 时,根据用例中的内容,保存视频文件,只获取到一个6KB大小的文件。代码如下:# from cameraimport cv2 as cvcap = cv.VideoCapture(0)# define the codec and create VideoWriter objectfourcc = cv.VideoWriter_fo...原创 2019-09-18 22:44:49 · 4056 阅读 · 17 评论 -
【OpenCV图像处理】1.18 拉普拉斯算子 - Laplance算子
文章目录拉普拉斯算子 - Laplance算子1. 相关理论2. 代码 & 运行效果拉普拉斯算子 - Laplance算子1. 相关理论在上一节已经提到过,f(t)f(t)f(t)的一阶导就是f′(t)f'(t)f′(t),对应的是Sobel算子,二阶导就是f′′(t)f''(t)f′′(t),对应的就是本节的拉普拉斯算子。对应的图形如下所示:针对上图的解释:在二阶导数的时候,最...原创 2019-10-08 15:10:44 · 664 阅读 · 0 评论 -
【OpenCV图像处理】1.17 Sobel算子
文章目录Sobel算子相关理论2. 代码 & 效果Sobel算子相关理论卷积应用-图像边缘提取边缘是什么?是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、对象检测、模式识别等方面都有重要的作用。如何捕捉/提取边缘 – 对图像求它的一阶导数delta=f(x)–f(x−1)delta = f(x) – f(x-1)delta=f(x)–f(x−1), del...原创 2019-10-07 16:30:00 · 383 阅读 · 0 评论 -
【OpenCV图像处理】1.16 处理边缘
卷积边界问题图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟kernel重叠,所以当3x3滤波时候有1个像素的边缘没有被处理,5x5滤波的时候有2个像素的边缘没有被处理。处理边缘在卷积开始之前增加边缘像素,填充的像素值为0或者RGB黑色,比如3x3在四周各填充1个像素的边缘,这样就确保图像的边缘被处理,在卷积处理之后再去掉这些边缘。openCV中默认的处理方法是:...原创 2019-10-06 16:25:21 · 428 阅读 · 0 评论 -
【OpenCV图像处理】1.15自定义线性滤波
自定义线性滤波线性滤波就是卷积,实际上的作用就是降噪。卷积概念卷积是图像处理中一个操作,是kernel在图像的每个像素上的操作。Kernel本质上一个固定大小的矩阵数组,其中心点称为锚点(anchor point)卷积如何工作?把kernel放到像素数组之上,求锚点周围覆盖的像素乘积之和(包括锚点),用来替换锚点覆盖下像素点值称为卷积处理。数学表达如下:H(x,y)=...原创 2019-10-05 15:03:10 · 246 阅读 · 0 评论 -
【OpenCV图像处理】1.14 基本阈值操作
P14、基本阈值操作图像阈值 threshold阈值 是什么?简单点说是把图像分割的标尺,这个标尺是根据什么产生的,阈值产生算法?阈值类型。(Binary segmentation)阈值类型下列图中红色部分表示图像像素点src(x,y)值分布情况,蓝色水平线表示阈值阈值二值化(threshold binary)即大于阈值的取maxVal,小于阈值的取0...原创 2019-10-04 17:14:06 · 411 阅读 · 0 评论 -
【OpenCV错误】error: (-215:Assertion failed) src.type() == CV_8UC1 in function 'threshold'
1. 问题描述使用threshold进行阈值处理,遇到下面的错误:opencv-4.0.1/modules/imgproc/src/thresh.cpp:1389: error: (-215:Assertion failed) src.type() == CV_8UC1 in function ‘threshold’自己的调用代码为:threshold(src, dest, threshol...原创 2019-10-04 16:39:04 · 30352 阅读 · 11 评论 -
【OpenCV图像处理】1.13 图像金字塔--上采样与降采样
平常说的分辨率几百万几百万像素就是指图像获取的大小。也就是图像的金字塔概念。图像金字塔我们在图像处理中常常会调整图像大小,最常见的就是放大(zoom in)和缩小(zoom out),尽管几何变换也可以实现图像放大和缩小,但是这里我们介绍图像金字塔一个图像金字塔式一系列的图像组成,最底下一张是图像尺寸最大,最上方的图像尺寸最小,从空间上从上向下看就想一个古代的金字塔。图像...原创 2019-10-03 15:33:45 · 433 阅读 · 0 评论 -
【OpenCV图像处理】1.11 形态学操作 - 开操作、闭操作、顶帽、黑帽
形态学操作 - 开操作、闭操作、顶帽、黑帽开操作:open先腐蚀后膨胀:dst=open(src,element)=dilate(erode(src,element))dst = open(src,element) = dilate(erode(src, element))dst=open(src,element)=dilate(erode(src,element))可以去掉小的对象,...原创 2019-09-27 15:21:39 · 520 阅读 · 0 评论 -
【OpenCV图像处理】1.10形态学基本操作 - 膨胀、腐蚀
形态学基本操作 - 膨胀与腐蚀从本节课开始,每个API后面都有一些数学公式,有的比较难,不一定完全掌握公式,不过要知道是怎么回事。形态学操作(morphology operators)图像形态学操作 – 基于形状的一系列图像处理操作的合集,主要是基于集合论基础上的形态学数学形态学有四个基本操作:腐蚀、膨胀、开、闭膨胀与腐蚀是图像处理中最常用的形态学操作手段膨胀跟卷积操作...原创 2019-09-27 15:12:05 · 524 阅读 · 0 评论 -
Mac下CLion 实现远程调试
配置可以参考:官方文档 Full Remote Mode方法以及使用可以参考:CLion 实现远程调试注意:这里只是将本地代码同步到远程服务器上,并不能实现本地代码在远程服务器上执行。远程服务器上的代码执行,如果有问题,clion进行本地调试,这要求远程服务器上安装了gdbserver。...原创 2019-09-23 17:31:42 · 1604 阅读 · 0 评论 -
Python 3中同时使用MatplotLib和OpenCV显示图像,发生异常
文章目录问题原因分析解决方法问题运行如下代码,不能正常执行,并报以下异常。代码:from matplotlib import pyplot as pltBLUE = [255,0,0]img1 = cv.imread(img_file)cv.imshow("img",img1)cv.waitKey(0)cv.destroyAllWindows()replicate = cv...原创 2019-09-22 12:06:34 · 717 阅读 · 0 评论 -
【OpenCV图像处理】1.19 Canny检测算法
1. 相关理论课程中,理论部分比较简单,未介绍清楚,后来看到的《数字图像处理》(P463)内容才明白是咋回事。Canny(坎尼)输入法介绍Canny是边缘检测算法,在1986年提出的。是一个很好的边缘检测器很常用也很实用的图像处理方法Canny算法介绍 – 五步 in cv::Canny高斯模糊 - GaussianBlur灰度转换 - cvtColor计算梯度 –...原创 2019-10-09 14:50:58 · 371 阅读 · 0 评论