![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV
OpenCV一些心得与体会
快乐 皇子
一个爱好软件的理工男
展开
-
OpenCV-Python 安装dlib出现的各种问题
由于需要用到python的人脸识别模块,所以需要安装dlib包。但是使用一下命令时会报错:pip install dlib在网上查说是需要更新pip,于是去更新了一下pip,但是还是不行。最终自己决定用conda来安装:conda install dlib但是依旧报错,会显示:有人建议更新conda:conda update -n base conda 但是当使用之后发现并没有什么效果,依然报错,于是自己琢磨,最终使用了以下命令安装成功:conda c原创 2020-06-13 16:14:36 · 467 阅读 · 1 评论 -
OpenCV+Python 用pytesseract识别图片中的英文
上一个博客中我已经阐述了安装pytesseract的方法,这次直接来简单调用一下用它来识别一下图片中的字符:import cv2import pytesseractfrom PIL import Imageimg = cv2.imread("paper.png")text = pytesseract.image_to_string(Image.open("paper.png"))print(text)cv2.imshow("result",img)cv2.waitKey(0)ok,原创 2020-06-01 15:18:28 · 1328 阅读 · 0 评论 -
OpenCV+Python 文字识别报错:tesseract is not installed or its not in your PATH
首先OCR程序已经安装好了,且环境变量已经配置过了,相应的工具包都装好了,但是依然报错,发现还需要修改OCR lib包的绝对路径,具体做法:找到anaconda3的安装路径,首先我声明一下,我的代码是在tensorflow环境下运行的,所以lib包去tensorflow环境里找:D:\Anaconda3\envs\tensorflow\Lib\site-packages\pytesseract这是我的路径,然后找到pytesseract.py 文件打开,将其路径改为绝对路径:tessera原创 2020-06-01 10:47:21 · 480 阅读 · 0 评论 -
opencv +python 报错:list assignment index out of range
报错原因是列表超过限制先看源代码:digtal = []for (i, c) in enumerate(contour): (x, y, w, h) = cv2.boundingRect(c) roi = thresh[y:y + h, x:x + w] roi = cv2.resize(roi, (57, 58)) digtal[i] = roi仔细分析了一下,发现digtal定义的有问题,解决办法如下:将digtal = [] 改为 digtal =原创 2020-05-30 16:10:41 · 1006 阅读 · 0 评论 -
OpenCV+python 傅里叶变换
傅里叶变换我们生活在时间的世界中,早上7:00起来吃早饭,8:00去挤地铁,9:00开始上班。。。以时间为参照就是时域分析。但是在频域中一切都是静止的!可能有些人无法理解,我建议大家看看这个文章,写的真是相当好,推荐!https://zhuanlan.zhihu.com/p/19763358傅里叶变换的作用 高频:变化剧烈的灰度分量,例如边界 低频:变化缓慢的灰度分量,例如一片大海 所以一般情况下,由于图像中的高频分量与低频分量都存在,我们可以用傅里叶变换进行滤波。滤原创 2020-05-29 17:01:19 · 327 阅读 · 0 评论 -
OpenCV+python 图像金字塔解析
OpenCV中图像金字塔主要包括两类:高斯金字塔和拉普拉斯金字塔。先来看一下原理图:高斯金字塔离金字塔尖越近,则图像越小。离底部越近,则图像越大。一般来讲金字塔分为向上采样和向下采样,向下采样实际上就是图像进行缩小,即离塔尖越来越近:来看一下代码:import cv2img = cv2.imread('pie.png')img = cv2.pyrDown(img)cv2.imshow("img",img)cv2.waitKey()cv2.destroyAllWind原创 2020-05-29 09:28:56 · 211 阅读 · 0 评论 -
OpenCV+python 滤波详解
简述接下来介绍几种opencv常用的滤波器,将介绍它们详细的原理,并且也会给出相应的代码段,但是演示图片就不放出来了,毕竟还是比较简单的。均值滤波器均值滤波器是一种低通滤波器,也是线性滤波器。对于一幅图像,我们都知道其像素阈值在0-255,通常来讲,滤波器所用的一个滤波模板都为奇数,这里我们以3*3为例:中间黄色部分即为滤波器的模板(卷积核),其将用于与图像进行卷积进而滤波,对于均值滤波器,顾名思义,其像素点为中间九个像素值的均值,从而将整个图像的像素用这个均值像素代替。给出示例代码原创 2020-05-27 15:45:49 · 1281 阅读 · 0 评论 -
OpenCV+python 图像RGB通道分离
直接上代码:import cv2import matplotlib.pyplot as pltimport numpy as npimg = cv2.imread("1.jpg")# img = img[0:500,0:2000]b,g,r = cv2.split(img)img1 = img.copy()img1[:,:,0] = 0img1[:,:,2] = 0cv2.imshow("G",img1)cv2.waitKey(0)cv2.destroyAllWindows原创 2020-05-26 17:04:14 · 6599 阅读 · 1 评论 -
OpenCV+python读入视频
直接上代码:import cv2import matplotlib.pyplot as pltimport numpy as npvc = cv2.VideoCapture("laji.mp4")if vc.isOpened(): oepn,frame = vc.read()else: open = Falsewhile open: ret,frame = vc.read() if frame is None: break if原创 2020-05-26 16:49:34 · 170 阅读 · 0 评论 -
解决:ModuleNotFoundError: No module named matplotlib
在用pycharm使用OpenCV进行相关操作时,发现报错,问题是没有安装相关模型,当然了现在需要将模型安装在环境变量之下,我是用的是tensorflow的环境变量,所以先激活tensorflow的环境。打开Anaconda Prompt,输入:activate tensorflow回车在输入:pip install matplotlib大功告成啦,完美运行。...原创 2020-05-26 16:23:41 · 744 阅读 · 0 评论 -
Opencv调用cv2.findContours出现报错ValueError: not enough values to unpack (expected 3, got 2)
当然这是因为使用了最新的opencv4.2版本的,它会返回三个参数,目前opencv4.0版本以上的都会返回三个参数,4.0以下的版本则返回两个参数,所以要想改为两个参数,需要将其降级为4.0版本一下,这里选择将其降级为3.4.3.18.pip install opencv-python==3.4.3.18当然了,由于下载速度太慢,故添加清华镜像pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python==3.4原创 2020-05-26 09:23:05 · 599 阅读 · 0 评论