
opencv_python
文章平均质量分 71
llh_1178
这个作者很懒,什么都没留下…
展开
-
使用opencv-python 4.4.0.40调用YOLOv4模型
终于等到python版本的opencv4.4版本了,不用麻烦的编译opencv4.4,就可以调用yolov4模型了。在opencv4.4出来之前,通过编译darknet来推理yolov4训练出来的模型,精度还行,但是速度太慢(cpu),只能在GPU下加速才能有不错的FPS值。话不多说,我们来对比一下使用darknet原生推理速度和使用opencv-python 4.4.0.40加速之后的速度。...原创 2020-08-13 17:11:39 · 8981 阅读 · 18 评论 -
踩过Mac Xcode配置opencv4.0.0的坑
今天,在安装opencv,并在Xcode中配置opencv4时,遇到了很多坑,但是最终还是在不懈的百度中,解决了问题。在此,将解决这些问题的方法进行总结,分享给大家。第一个问题首先,安装opencv和在Xcode中配置opencv,大家可以参考以下资料:https://www.jianshu.com/p/564c8b352c7fhttps://blog.youkuaiyun.com/weixin_36634831/article/details/90382605都讲得很清楚了,但是,如果出现opencv仍然导原创 2020-05-09 17:34:10 · 1393 阅读 · 3 评论 -
opencv打开摄像头报错:error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘imshow‘
使用opencv打开摄像头时,出现了:error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow’错误。源码:import cv2capture = cv2.VideoCapture(0)while True: res, frame = captur...原创 2019-07-15 16:09:29 · 12923 阅读 · 15 评论 -
python3安装OpenCV3出现:ImportError: numpy.core.multiarray failed to import
OpenCV之前只支持python2版本,不支持python3版本,在现在python3也可以安装OpenCV包了,而且也没有之前使用python2安装OpenCV那么麻烦了。但是,还是需要手动去下载包在安装,如果直接使用pip install opencv-python是会出错的。 所以,可以下面的网址下载对应版本及平台的 .whl 包,再手动安装。 https://www.lfd.uci....原创 2018-08-14 20:19:53 · 23768 阅读 · 2 评论 -
图像处理之使用人机交互截取图片
在图像处理的过程中,我们可能会遇到这样的一个场景,想要截取图像的某个区域,但是,又无法知道区域在图片的具体位置,无法通过正常的截图手段进行操作。所以,根据这一需求,我们应该想到在交互状态下去操作图像,也就是可以通过我们的鼠标进行选定某个区域,然后再进行相应的操作,当然,我们在这里是截图操作。设置一个可以选定区域且如果没有选好,还可以重新选择的需求。在opencv中就有一些提供人机交互的参数(其原创 2017-09-26 19:13:25 · 1704 阅读 · 0 评论 -
图像处理之灰色图转化为RGB图像
一般情况下我们都是将RGB图像转化为灰色图,很少将灰色图又转化为RGB图像。如果有所需求,将灰色图转化为RGB图像,但是,又发现网上很少有这方面的解答,一下子就会觉得无从下手。我使用opencv-python来解决这个问题。 都知道opencv中有一个函数cvtcolor()中有一个参数cv2.COLOR_GRAY2BGR,它能直接将灰色图变换成RGB图像吗?import nu原创 2017-09-04 10:31:49 · 99821 阅读 · 31 评论 -
图像处理之直方图均值化
在图像处理中时常会用到图像像素的直方图,但是,一般情况下我们只会使用直方图做为二值化图像的根据,很少会想到处理图像的直方图也可以使图像对比度增加,达到显著的效果。这就是直方图的均值化。首先,我们从图像的直方图说起。什么是直方图?图像直方图,是指对整个图像像在灰度范围内的像素值(0~255)统计出现频率次数,据此生成的直方图,称为图像直方图。直方图反映了图像灰度的分布情况。是图像的统计学特征。原创 2017-08-24 19:52:56 · 6150 阅读 · 0 评论 -
图像处理之提取水平线和垂直线
提取图像中的水平线和垂直线,是对图像的处理非常有好处的,能够筛选出对自己有用的、感兴趣的部分。比如从富有干扰杂质的验证码中提取干净的验证码。从这样: 变成这样:就可以轻松看出验证码了。当然,这只是其中的一个小例子,还有很多实例等着去开发。下面回到我们的主题,提取水平线和垂直线,我们首先要将图像灰度化,然后再二值化,最后进行形态学的操作(腐蚀和膨胀),达到提取水平和垂直线的要求。下原创 2017-07-28 10:35:00 · 13982 阅读 · 4 评论 -
图像处理之亮度与对比度
处理图像经常会对图像色彩进行增强,这就是改变图像的亮度和对比度。本章基于opencv对图像的亮度和对比度进行处理操作。其实,这是对图像的每一个像素点进行相应的操作。上面这个公式可以很好的解释对图像的亮度和对比度操作的原理,第一个参数α必须是大于零,不然则基本上没有意义了。α能代表什么呢?α能使图像像素成倍数的增长或降低(αβ作何解释呢?β可为负,也可为正,那么任何一个像素都在(0,原创 2017-07-19 17:32:33 · 13031 阅读 · 0 评论 -
图像无法显示Trackbar
想给图像创建一个Trackbar,但是无法显示出来。困扰了几天时间,却发现这是因为一个很细节的操作没有注意导致的。首先,讲讲Trackbar是什么?cvCreateTrackbar,该函数为开放计算机视觉(OpenCV)库库函数,创建trackbar并将它添加到指定的窗口。 定义:CV_EXTERN_C_FUNCPTR( void (*CvTrackbarCallb原创 2017-07-29 21:46:10 · 1881 阅读 · 0 评论 -
图像处理之读入写入图像文件
OpenCV是开源、跨平台的计算机视觉库,由英特尔公司发起并开发,在商业和研究领域中可以免费使用。而Python作为当前非常流行的动态语言之一,Python不仅使用非常简单,而且功能强大。通过Python来学习OpenCV框架,可以很快的理解计算机视觉的基本概念以及重要算法。下面我们就开始OpenCV的学习之旅吧!使用OpenCV读/写图像文件:imread() 函数和imwrite() 函数翻译 2017-06-14 22:44:32 · 1036 阅读 · 0 评论 -
图像处理之图像的边缘、轮廓检测
图像的边缘、轮廓检测在人类视觉和计算机视觉中均起着重要的作用。人类能够仅凭一张背景剪影或一张草图就能识别出物体的类型和姿态。OpenCV提供了许多边缘检测l滤波函数,包括Laplacian( )、Sobel()以及Scharr()。这些函数都能将边缘转化为白色或其他饱和的颜色,将非边缘转化为黑色,但是,这些函数不能有效的区分噪声错误的判断为边缘。解决这个问题的办法是对图像进行模糊处理。这里介绍一种翻译 2017-06-15 10:20:10 · 22171 阅读 · 1 评论 -
图像处理之二值化图像
图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。将所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。下面代码进行演示。# 图像的阈值处理'''图像的阈值处理在图像的处理中是很重要的部分,它为图像的二值化提供了依据,使图像的像素更加单一、图像更加简单原创 2017-06-15 20:18:13 · 11314 阅读 · 0 评论 -
图像处理之分割图像
我们在处理图像的时候,常常需要将图像的前景和背景做不同的处理,这时需要将前景和背景分割开。关于图像分割的方法我知道的有三种方法:K-means、分水岭和GrabCut算法进行物体分割。不能够肯定的比较出谁优谁劣,各种算法是分各种场合以及设定参数的优化。在此,只是简单介绍,学习之路任重而道远!K-means方法进行分割:它是一种最常用的聚类算法。因为,人们不需要手动的为数据集里的每个个体原创 2017-06-16 11:39:29 · 28537 阅读 · 20 评论