Opencv
骚火棍
这个作者很懒,什么都没留下…
展开
-
OpenCV-Python官方教程-33-图像修补
1. 目标:使用修补技术去除老照片中小的噪音和划痕使用 OpenCV 中与修补技术相关的函数2. 基础在我们每个人的家中可能都会几张退化的老照片,有时候上面不小心在上面弄上了点污渍或者是画了几笔。你有没有想过要修复这些照片呢?我们可以使用笔刷工具轻易在上面涂抹两下,但这没用,你只是用白色笔画取代了黑色笔画。此时我们就要求助于图像修补技术了。这种技术的基本想法很简单:使用坏点周围的像素取代坏点,这样它看起来和周围像素就比较像了。如下图所示:为了实现这个目的,科学家们已经提出了好几种算法,Ope原创 2020-10-21 11:11:16 · 1677 阅读 · 2 评论 -
OpenCV-Python官方教程-32-计算摄影学图像去噪
1. 目标:学习使用非局部平均值去噪算法去除图像中的噪音学习函数 cv2.fastNlMeansDenoising(),cv2.fastNlMeansDenoisingColored()等2. 原理我们已经学习了很多图像平滑技术,比如高斯平滑,中值平滑等,当噪声比较小时这些技术的效果都是很好的。在这些技术中我们选取像素周围一个小的邻域然后用高斯平均值或者中值平均值取代中心像素。简单来说,像素级别的噪声去除是限制在局部邻域的。噪声有一个性质。我们认为噪声是平均值为一的随机变量。考虑一个带噪声的像原创 2020-10-21 10:16:53 · 633 阅读 · 1 评论 -
OpenCV-Python官方教程-28-使用特征匹配和单应性查找对象
使用特征匹配和单应性查找对象目标:联合使用特征提取和calib3d模块中的findHomography在杂图像中查找已知对象。为了达到这个目的我们可以使用calib3d模块中的cv2.findHomography()函数。如果将这两幅图像中的特征点集传给这个函数,他就会找到这个对象的透视图变换。然后我们就可以使用函数cv2.perspectiveTransform()找到这个对象了。至少要 4 个正确的点才能找到这种变换。我们已经知道在匹配过程可能会有一些错误,而这些错误会影响最终结果。为了解决这原创 2020-10-16 11:25:55 · 615 阅读 · 1 评论 -
OpenCV-Python官方教程-27-特征匹配
1.Brute-Force匹配蛮力匹配器是很简单的。首先在第一幅图像中选取一个关键点然后依次与第二幅图像的每个关键点进行(描述符)距离测试,最后返回距离最近的关键点。对于 BF 匹配器,我们首先要使用cv2.BFMatcher() 创建一个 BFMatcher 对象。它有两个可选参数。第一个是normType。它是用来指定要使用的距离测试类型。默认值为cv2.Norm_L2。这很适合SIFT和SURF等(c2.NORM_L1 也可以)。对于使用二进制描述符的 ORB,BRIEF,BRISK算法等,要使用原创 2020-10-15 10:56:25 · 674 阅读 · 0 评论 -
OpenCV-Python官方示例文档
链接:https://docs.opencv.org/4.0.1/d6/d00/tutorial_py_root.html原创 2020-10-14 10:39:50 · 752 阅读 · 0 评论 -
OpenCV-Python官方教程-26- ORB (Oriented FAST and Rotated BRIEF)
OpenCV中的ORB算法我们必须创建一个ORB对象,通过函数 cv.ORB_create() 。或者使用 feature2d公共接口。它有多个可选参数。最有用的几个,是nFeatures,它表示要保留特征的最大数量(默认是500),scoreType 表示是在为特征点排序时,是要用哈里斯的方式来计分还是使用FAST算法来计分(默认是哈里斯的计分算法)等等。还有个参数,WTA_K 决定产生有方向的BRIEF描述符的每个元素点的数目。默认情况下是两个,因为两点决定一条线。这种情况下,使用汉明距离(译者注:N原创 2020-10-14 10:30:01 · 439 阅读 · 1 评论 -
OpenCV-Python官方教程-25-角点检测的FAST算法
原理(略)OpenCV 中 FAST 特征检测器FAST 算法比其它角点检测算法都快。但是在噪声很高时不够稳定,这是由阈值决定的。和其他特征点检测一样我们可以在 OpenCV 中直接使用 FAST特征检测器。如果你愿意的话,你还可以设置阈值,是否进行非最大值抑制,要使用的邻域大小等。代码示例:...原创 2020-10-13 11:00:25 · 419 阅读 · 1 评论 -
OpenCV-Python官方教程-24-SIFT算法
Harris角点检测等具有旋转不变特性,即使图片发生了旋转,我们也能找到同样的角点。很明显即使图像发生旋转之后角点还是角点。那如果我们对图像进行缩放呢?角点可能就不再是角点了。以下图为例,在一副小图中使用一个小的窗口可以检测到一个角点,但是如果图像被放大,再使用同样的窗口就检测不到角点了。所以在 2004 年,D.Lowe 提出了一个新的算法:尺度不变特征变换(SIFT),这个算法可以帮助我们提取图像中的关键点并计算它们的描述符。SIFT 算法主要由四步构成:(1)空间尺度极值检测(2)关键点定位原创 2020-10-12 13:49:16 · 717 阅读 · 0 评论 -
OpenCV-Python官方教程-23- Shi-Tomasi 角点检测 & 适合于跟踪的图像特征
OpenCV 提供了函数:cv2.goodFeaturesToTrack()。这个函数可以帮我们使用 Shi-Tomasi 方法获取图像中 N 个最好的角点(如果你愿意的话,也可以通过改变参数来使用 Harris 角点检测算法)。通常情况下,输入的应该是灰度图像。然后确定你想要检测到的角点数目。再设置角点的质量水平,0 到 1 之间。它代表了角点的最低质量,低于这个数的所有角点都会被忽略。最后在设置两个角点之间的最短欧式距离。根据这些信息,函数就能在图像上找到角点。所有低于质量水平的角点都会被忽略。然后再原创 2020-10-12 10:16:57 · 410 阅读 · 0 评论 -
OpenCV-Python官方教程-22-Harris角点检测
1 原理(略)2.1 OpenCV中的Harris角点检测OpenCV中的函数cv2.cornerHarris()可以用来进行角点检测。参数如下:img:数据类型为float32的输入图像。blockSize:角点检测中要考虑的邻域大小。ksize:Sobel求导中使用的窗口大小。k:Harris角点检测方程中的自由参数,取值参数为[0.04,0.06]代码演示:import cv2import numpy as npimg = cv2.imread('xiangqi.jpg')原创 2020-10-10 10:29:58 · 2367 阅读 · 1 评论 -
OpenCV-Python官方教程-21-使用GrabCut算法进行交互式前景提取
1 原理(略)2 代码演示OpenCV 提供了函数:cv2.grabCut()。我们来先看看它的参数:img:输入图像mask:掩膜图像,用来确定那些区域是背景、前景,可能是背景/前景等。可以设置为:cv2.GC_BGD,cv2.GC_FGD,cv2.GC_PR_BGD,cv2.GC_PR_FGD,或者直接输入 0,1,2,3 也行。rect:包含前景的矩形,格式为(x,y,w,h)bgModel,bgModel:算法内部使用的数组. 你只需要创建两个大小为 (1,65),数据类型为 np.原创 2020-09-30 00:09:59 · 764 阅读 · 0 评论 -
OpenCV-Python官方教程-20-分水岭算法图像分割
1 原理任何一副灰度图像都可以被看成拓扑平面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷。我们向每一个山谷中灌不同颜色的水。随着水的位的升高,不同山谷的水就会相遇汇合,为了防止不同山谷的水汇合,我们需要在水汇合的地方构建起堤坝。不停的灌水,不停的构建堤坝直到所有的山峰都被水淹没。我们构建好的堤坝就是对图像的分割。这就是分水岭算法的背后思想。但是这种方法通常都会得到过度分割的结果,这是由噪声或者图像中其他不规律的因素造成的。为了减少这种影响OpenCV 采用了基于掩模的分水岭算法,在这原创 2020-09-29 11:46:54 · 734 阅读 · 0 评论 -
OpenCV-Python官方教程-19-Hough直线变换和Hough圆环变换
1 .Hough直线变换1.1 cv2.HoughLines()在 OpenCV 中都被封装进了一个函数:cv2.HoughLines()。返回值就是(ρ, θ)。ρ 的单位是像素,θ 的单位是弧度。这个函数的第一个参数是一个二值化图像,所以在进行霍夫变换之前要首先进行二值化,或者进行Canny 边缘检测。第二和第三个值分别代表 ρ 和 θ 的精确度。第四个参数是阈值,只有累加其中的值高于阈值时才被认为是一条直线,也可以把它看成能检测到的直线的最短长度(以像素点为单位)。演示代码:import cv2原创 2020-09-28 13:47:13 · 697 阅读 · 0 评论 -
OpenCV-Python官方教程-18-模板匹配
模板匹配是用来在一副大图中搜寻查找模版图像位置的方法。OpenCV 为我们提供了函数:cv2.matchTemplate()。和 2D 卷积一样,它也是用模板图像在输入图像(大图)上滑动,并在每一个位置对模板图像和与其对应的输入图像的子区域进行比较。OpenCV 提供了几种不同的比较方法(细节请看文档)。返回的结果是一个灰度图像,每一个像素值表示了此区域与模板的匹配程度。如果输入图像的大小是(WxH),模板的大小是(wxh),输出的结果的大小就是(W-w+1,H-h+1)。当你得到这幅图之后,就可以使用函原创 2020-09-27 13:40:01 · 408 阅读 · 0 评论 -
OpenCV-Python官方教程-17-图像变换(傅里叶变换)
傅里叶变换经常被用来分析不同滤波器的频率特性。我们可以使用2D离散傅里叶变换 (DFT) 分析图像的频域特性。实现 DFT 的一个快速算法被称为快速傅里叶变换(FFT)。边界和噪声是图像中的高频分量(注意这里的高频是指变化非常快,而非出现的次数多)。如果没有如此大的幅度变化我们称之为低频分量。1.1 Numpy中的傅里叶变换Numpy 中的 FFT 包可以帮助我们实现快速傅里叶变换。函数 np.fffft.fffft2() 可以对信号进行频率转换,输出结果是一个复杂的数组。本函数的第一个参数是输入图.原创 2020-09-21 10:59:28 · 507 阅读 · 0 评论 -
OpenCV-Python官方教程-16-直方图均匀化、2D直方图和直方图反向投影
直方图均衡化如果一幅图片整体很亮,那所有的像素值应该都会很高。但是一副高质量的图像的像素值分布应该很广泛。所以你应该把它的直方图做一个横向拉伸(如下图),这就是直方图均衡化要做的事情。通常情况下这种操作会改善图像的对比度。1.1 先查原图的灰度直方图import cv2import numpy as npfrom matplotlib import pyplot as pltimg = cv2.imread('apple.jpg',0)flatten()将数组变成一维的hist,bin.原创 2020-09-19 12:48:21 · 996 阅读 · 0 评论 -
OpenCV-Python官方教程-15-直方图的计算、绘制与分析
什么是直方图呢?通过直方图你可以对整幅图像的灰度分布有一个整体的了解。直方图的 x 轴是灰度值(0 到 255),y 轴是图片中具有同一个灰度值的点的数目。直方图其实就是对图像的另一种解释,通过直方图我们可以对图像的对比度,亮度,灰度分布等有一个直观的认识。统计直方图函数 cv2.calcHist (images,channels,mask,histSize,ranges)可以帮助我们统计一幅图像的直方图。其中,(1)images是原图,当传入函数时应该用中括号[]括起来,例如:[img]。(2).原创 2020-09-18 11:48:45 · 446 阅读 · 0 评论 -
OpenCV-Python官方教程-14-轮廓的层次结构
用函数 cv2.fifindContours 来查找轮廓,我们需要传入第二个参数:轮廓提取模式(Contour_Retrieval_Mode)。还有些情况,一个形状在另外一个形状的内部。这种情况下我们称外部的形状为父,内部的形状为子。按照这种方式分类,一幅图像中的所有轮廓之间就建立父子关系。这样我们就可以确定一个轮廓与其他轮廓是怎样连接的,比如它是不是某个轮廓的子轮廓,或者是父轮廓。这种关系就成为组织结构。OpenCV 使用一个含有四个元素的数组表示。[Next,Previous,First_Chil.原创 2020-09-18 00:21:04 · 221 阅读 · 0 评论 -
OpenCV-Python官方教程-13-图像轮廓(轮廓绘制,轮廓特征(面积,周长,重心,边界框))、轮廓性质
什么是轮廓?轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析和物体的检测和识别中很有用。为了更加准确,要使用二值化图像。在寻找轮廓之前,要进行阈值化处理或者 Canny 边界检测。函数 cv2.fifindContours() 有三个参数,第一个是输入图像,第二个是轮廓检索模式,第三个是轮廓近似方法。函数 cv2.drawContours() 可以被用来绘制轮廓。它可以根据你提供的边界点绘制任何形状。它的第一个参数是原始图像,第二个参数是轮廓,一个 P.原创 2020-09-17 00:29:51 · 4829 阅读 · 1 评论 -
OpenCV-Python官方教程-12-图像金字塔以及图像融合
高斯金字塔高斯金字塔的顶部是通过将底部图像中的连续的行和列去除得到的。顶部图像中的每个像素值等于下一层图像中5 个像素的高斯加权平均值。这样操作一次一个 M x N 的图像就变成了一个 M/2 x N/2 的图像。所以这幅图像的面积就变为原来图像面积的四分之一。这被称为Octave。连续进行这样的操作我们就会得到一个分辨率不断下降的图像金字塔。import cv2img = cv2.imread('x.png')lower_reso = cv2.pyrDown(img)higer_reso2 .原创 2020-09-15 10:58:48 · 425 阅读 · 0 评论 -
OpenCV-Python官方教程-11-Canny边缘检测
噪声去除由于边缘检测很容易受到噪声影响,所以第一步是使用 5x5 的高斯滤波器去除噪声。计算图像梯度对平滑后的图像使用 Sobel 算子计算水平方向和竖直方向的一阶导数(图像梯度)(Gx 和 Gy)。根据得到的这两幅梯度图(Gx 和 Gy)找到边界的梯度和方向,梯度的方向一般总是与边界垂直。梯度方向被归为四类:垂直,水平,和两个对角线。公式如下:非极大值抑制在获得梯度的方向和大小之后,应该对整幅图像做一个扫描,去除那些非边界上的点。对每一个像素进行检查,看这个点的梯度是不是周围具有相同梯度方向.原创 2020-09-13 15:39:12 · 281 阅读 · 0 评论 -
OpenCV-Python官方教程-10-图像梯度(Sobel,Scharr、Laplacian)
Sobel算子、Scharr算子Sobel(一阶导数)算子是高斯平滑与微分操作的结合体,所以它的抗噪声能力很好。你可以设定求导的方向(xorder 或 yorder)。还可以设定使用的卷积核的大小(ksize)。如果 ksize=-1,会使用 3x3 的 Scharr 滤波器,它的的效果要比 3x3 的 Sobel 滤波器好(而且速度相同,所以在使用 3x3 滤波器时应该尽量使用 Scharr 滤波器)。3x3 的 Scharr 滤波器卷积核如下:Laplacian算子拉普拉斯算子(二阶导数)可.原创 2020-09-11 10:53:56 · 335 阅读 · 0 评论 -
OpenCV-Python官方教程-09-形态学转换(腐蚀,膨胀,开闭运算,礼帽,黑帽,形态学梯度运算)
腐蚀就像土壤侵蚀一样,这个操作会把前景物体的边界腐蚀掉(但是前景仍然是白色)。根据卷积核的大小靠近前景的所有像素都会被腐蚀掉(变为 0),所以前景物体会变小,整幅图像的白色区域会减少。这对于去除白噪声很有用,也可以用来断开两个连在一块的物体等。import cv2import numpy as np#腐蚀img = cv2.imread('str.jpg')ret,binary = cv2.threshold(img,127,255,cv2.THRESH_BINARY)kernel_1 =.原创 2020-09-10 11:28:42 · 370 阅读 · 0 评论 -
OpenCV-Python官方教程-08-图像滤波
2D卷积2D图像实施低通滤波(LPF),帮助我们去除噪音,模糊图像。高通滤波(HPF),帮助我们找到图像的边缘。可以自己创建卷积核,然后利用cv.fifilter2D(),进行各种图像卷积。## 2D卷积import cv2import numpy as npfrom matplotlib import pyplot as pltimg = cv2.imread('x.png')kernel = np.ones((5,5),np.float32)/25#-1代表输出和输入的尺寸一样ds.原创 2020-09-09 15:49:40 · 307 阅读 · 0 评论 -
OpenCV-Python官方教程-07-图像阈值
简单阈值cv2.threshold(img,th,c,param),th是阈值,大于等与th的值判为c,否则判为0,param是不同的阈值方法。此函数有两个返回值,第一个retVal是阈值,第二个是阈值化之后的结果图。import cv2import numpy as npfrom matplotlib import pyplot as pltimg = cv2.imread('x.png',0)ret,thresh1 = cv2.threshold(img,127,255,cv2.THRE.原创 2020-09-08 10:59:16 · 356 阅读 · 0 评论 -
OpenCV-Python官方教程-06-图像的放大缩小、平移、旋转、仿射、透射
放大缩小import cv2import numpy as npimg = cv2.imread('opencv.jpg')h,w,_ = img.shaperes1 = cv2.resize(img,(int(0.5*w),int(0.5*h)))res2 = cv2.resize(img,(2*w,2*h))cv2.imshow('res1',res1)cv2.imshow('res2',res2)cv2.imshow('img',img)cv2.waitKey(0)cv2.d.原创 2020-09-05 22:22:10 · 531 阅读 · 0 评论 -
OpenCV-Python官方教程-05-颜色空间转换、获取特定颜色图像、物体追踪
这里主要用到两个函数cv2.cvtColor(img,flag) 用图像的颜色空间转换,flag有很多种,主要用到有cv2.COLOR_BGR2GRAY、cv2.COLOR_BGR2HSV、cv2.COLOR_BGR2LAB等;cv2.inRange(img,lower_thrshold,upper_threshold) 在 HSV 颜色空间中要比在 BGR 空间中更容易表示一个特定颜色。所以在使用这个函数的时候,我们首先需要将图像转换到HSV颜色空间中。lower_thrshold,upper_thr.原创 2020-09-05 17:04:10 · 553 阅读 · 0 评论 -
OpenCV-Python官方教程-04-图像上的算术运算(图像加法、图像混合、位运算)
图像加法cv2.add()# 图像加法x = np.uint8([250])y = np.uint8([10])print (cv2.add(x,y))) # 250+10 = 260 => 255print (x+y)# 250+10 = 260 % 256 = 4[[255]][4]图像混合cv2.addWeighted(img1,alpha,img2,(1-alpha),beta),将同等分辨率的图片,按比例混合叠加在一起。数学公示dst = α · img1 +.原创 2020-09-04 17:57:40 · 356 阅读 · 0 评论 -
OpenCV-Python官方教程-03-图像基础操作(获取修改像数值、图像属性、图像通道拆分合并,扩边)
获取修改像素值import cv2 import numpy as npimg = cv2.imread('x.png')px = img[100,100]print (px)blue = img[100,100,0]print (blue)px = [255,255,255]print (px)#修改一块区域roi = img[250:300,250:300]img[50:100,50:100] = roicv2.imshow('11',img)cv2.waitKey(0).原创 2020-09-04 11:57:31 · 380 阅读 · 0 评论 -
OpenCV-Python官方教程-02-绘图工具(线、矩阵、圆、椭圆、多边形,添加文字,填充多边形)
Opencv中绘图工具(线、矩形、圆、椭圆、多边形、添加文字、填充多边形):这里用到了三个函数:cv2.line();cv2.rectangle();cv2.circle();cv2.ellipse();cv2.putText(); cv2.polylines(); cv2.fillConvexPoly();cv2.fillPoly()cv2.line(img,dot1,dot2,color,thickness)cv2.rectangle(img,dot1,dot2,color,thickness原创 2020-09-01 18:42:50 · 766 阅读 · 1 评论 -
OpenCV-Python官方教程-01-图片的读,显示和保存
图片的读,显示和保存:这里用到了三个函数:cv2.imread();cv2.imshow();cv2.imwrite()cv2.imread(param1,param2):param1:图像的地址,可以是相对路径,亦或绝对路径。注意:路径中不可以出现中文,否则会报错!param2:常用的有三个:(1)cv2.IMREAD_COLOR:读入一幅彩色图像。图像的透明度会被忽略,这是默认参数。(2)cv2.IMREAD_GRAYSCALE:以灰度模式读入图像。(3)cv2.IMREAD_UNCHANG原创 2020-08-31 14:58:58 · 328 阅读 · 0 评论 -
基于python+opencv的图片质量检测(清晰度+亮度+色偏)
1.清晰度检测:利用拉普拉斯算子计算图片的二阶导数,反映图片的边缘信息,同样事物的图片,清晰度高的,相对应的经过拉普拉斯算子滤波后的图片的方差也就越大。import cv2#利用拉普拉斯def getImageVar(imgPath): image = cv2.imread(imgPath) img2gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) imageVar = cv2.Laplacian(img2gray, cv2.C原创 2020-08-17 14:47:31 · 20215 阅读 · 6 评论 -
蒙太奇照片制作(Opencv+Python)
先看一下效果展示吧:原图(1350x1800):替代后(45x72的图片,共计62500张,拼成13500x18000的效果图):和原图融合后的最终效果(可以增加一些清晰度):细节图:算法思路:修改那些提前准备的一堆图片的大小到马赛克般大小。(根据你自己准备的图片修改尺寸,我的原图是1080x1440的,为了修改之后不失真,我把图片resize成了45x72,刚好是20倍)放大目标图片的长宽,使之长宽都是马赛克大小的整数倍.(我的原图是1350x1800,放大到13500x180原创 2020-08-12 14:15:37 · 1529 阅读 · 0 评论 -
基于opencv的自动祛斑算法
首先我们先来看一下详细的逻辑思路:灰度化对比度增强梯度极大值查找皮肤排除孤立点消除高斯模糊阈值处理区域表求和得到最终结果D根据结果D与梯度最大值查找的结果对图像A里的斑点进行泊松放出处理,得到自动祛斑的最终效果概括来说就是一下三个主要步骤:- 1.sobel算子————》找到斑点的可能区域sobel算子的主要目的是为了检测边缘。图像边缘一般指图像的灰度变化率最大的位置。先看看关键性代码:src1 = cv2.cvtColor(src,cv2.COLOR_BGR2GRAY)原创 2020-07-28 14:21:11 · 3688 阅读 · 0 评论 -
Opencv-Python图像形态学操作
1.定义:膨胀(Dilated)腐蚀(Eroded)黑色为腐蚀后的图像开闭运算2.cv2.morphologyEx(src, op, kernel) 进行各类形态学的变化参数说明:src:输入图片,op:进行变化的方式,kernel:表示框的大小op = cv2.MORPH_OPEN 进行开运算,指的是先进行腐蚀操作,再进行膨胀操作; op = cv2.MO...原创 2019-12-09 18:08:56 · 531 阅读 · 0 评论 -
漫水填充(cv2.fooldFill())--FLOODFILL_FIXED_RANGE与FLOODFILL_MASK_ONLY的区别
**1.漫水填充的定义:**漫水填充法是一种用特定的颜色填充联通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效果的方法。漫水填充经常被用来标记或分离图像的一部分以便对其进行进一步处理或分析,也可以用来从输入图像获取掩码区域,掩码会加速处理过程,或只处理掩码指定的像素点,操作的结果总是某个连续的区域。**2.漫水填充的思想:**所谓漫水填充,简单来说,自动选中了和种子点相连的区域,...原创 2019-12-09 15:40:09 · 2217 阅读 · 0 评论 -
图像处理入门 100 题
该项目包含了 CV 领域,OpenCV 图像处理入门 100 题实例解析,并配备完整的 Pyhon 代码。地址:https://github.com/gzr2017/ImageProcessing100Wen上图:原知乎链接:https://zhuanlan.zhihu.com/p/89492908...原创 2019-12-06 18:07:29 · 890 阅读 · 0 评论 -
OpenCV预训练模型库
OpenCV 的 GitHub 页面中有一个称为「open_model_zoo」的资源库,里面包含了大量的计算机视觉预训练模型,并提供了下载方法。使用这些免费预训练模型可以帮助你加速开发和产品部署过程。地址:https://github.com/opencv/open_model_zoo...原创 2019-11-19 17:39:14 · 3161 阅读 · 0 评论 -
opencv 爬坑指南
1,路径问题:import cv2img = cv2.imread("C:/Users/夏戈/Desktop/1.bmp")cv2.imshow("image",img)cv2.waitKey(0)cv2.destroyAllWindows()报错error: OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\highgui\...原创 2019-10-28 15:56:12 · 343 阅读 · 0 评论