- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 opencv-pyehon(16):直方图计算绘制与分析
1、直方图的计算绘制与分析本节学习的函数有cv2.calcHist()与np.histtogram()统计直方图相关术语: BINS: 在上面的直方图当中,如果像素值是0到255,则需要256个值来显示直方图。但是,如果不需要知道每个像素值的像素数目,值想知道两个像素值之间的像素点数目怎么办?例如,想知道像素值在0到15之间的像素点数目,然后是16到31。。。240到255
2017-12-03 10:01:06
615
原创 opencv-python(15):轮廓
1.1、寻找轮廓与绘制轮廓本节会学习cv2.findContours()以及cv2.drawcontours()寻找轮廓应该首先进行二值化处理,所以应首先变回灰度图。cv2.findcontours()原型:cv2.findContours(image, mode, method[, contours[, hierarchy[, offset ]]]) 参数:第一个参
2017-11-26 21:51:40
1256
原创 opencv-python(13):Canny边缘检测
边缘检测的目的是识别目标数字图像上亮度变化明显的点。图像中的显著变化通常反应了属性的重要事件和变化。函数原型:edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]]) 必要参数:第一个参数是需要处理的原图像,该图像必须为单通道的灰度图;第二个参数是阈值
2017-10-16 15:57:59
8717
1
原创 opencv-python(12):图像梯度(高通滤波)
使用的函数有:cv2.Sobel(),cv2.Schar(),cv2.Laplacian()Sobel,scharr其实是求
2017-10-14 22:32:41
8974
原创 opencv-python(11):形态学转换
形态学操作是根据图像形状进行的简单操作,一般情况下对二值化图像进行操作。需要输入两个参数,一个是原始图像,另一个是结构化元素或者是核,它用来决定操作性质。1、腐蚀和膨胀腐蚀:卷积和沿着图像滑动,如果与卷积核对应的原图像所有像素值都是1,那么中心元素就保持原来的像素值,否则变为0。这会根据卷积核的大小靠近前景的所有像素都会被腐蚀掉(变为0),所以前景物体会变小,整幅图像的白色区域会减小。对于
2017-10-14 19:18:39
423
原创 opencv-python(10):图像平滑
学习使用不同的低通滤波器对图像进行模糊使用自定义的滤波器对图像进行卷积1、2D卷积与信号一样,我们可以对2D图像实施低通滤波(LPF),高通滤波(HPF)等。LPF帮助我们去除噪音,模糊图像。HPF帮助我们找到图像的边缘。OpenCV提供cv2.filter2D()对图像进行卷积操作。下面我们将对一副图像使用平均滤波器。下面是一个5x5的平均滤波器。操作如下:将核放在图
2017-10-14 16:32:00
526
原创 opencv-pytho(9):图像阈值
本节将学习简单阈值,自适应阈值,Otsu's二值化等学习的函数有cv2.threshold,cv2.adaptiveThreshold等1、简单阈值函数原型:cv2.treshold(src,x,y,method)src:原函数 ,应为灰度值 x:指对像素值进行分类的阈值 y:当像素高于(或者小于)阈值时会被赋予的新值method:cv2.THRESH_BINARY
2017-10-11 20:04:44
452
原创 opencv-python(8):几何变换
本节学习对图像的额几个变换,例如缩放,移动,旋转,仿射变换等。1、扩展缩放opencv提供函数cv2.resize()实现此功能。函数原型:cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst src:原图像; dst:目标图像 当dsize大小不为0时,dst大小为缩放到size(weigh
2017-10-09 15:03:29
2062
原创 opencv-python(7):颜色空间转换
在opencv中有超过150种进行颜色转换的方法,但我们经常用到的只是两种:BGR-灰度图,跟BGR-HSV。我们用到的函数是:cv2.cetColor(input_image,flag),flag就是我们要转换的类型。对于灰度图转换,flag就是cv2.COLOR_BGR2GRAY,对于HSV转换,用到的flag是cv2.COLOR_BGR2HSV。详细可看 点击打开链接在op
2017-10-08 18:54:46
7623
2
原创 opencv-python(6):图像上的算术运算
学习图像的加法、混合与位运算学习的函数:cv2.add(),cv2.addWeighted()等。1、图像加法运用cv2.add()对图像进行加法运算,但是要保证图像的大小、类型一致。代码:import numpy as npimport cv2img1=cv2.imread('C:\\Users\\WLX\\Desktop\\2.jpg',cv2.IMREAD_COLOR
2017-10-06 18:29:18
580
原创 opencv-python(5):图像基本操作
本节记录五点:获取像素值并将其修改;获取图像的属性;图像的ROI;图像通道的拆分及合并;填充边界1.1 获取图像的像素代码:import numpy as npimport cv2img=cv2.imread('C:\\Users\\WLX\\Desktop\\2.jpg',cv2.IMREAD_COLOR)ht=img[50,50]print(ht)hc=i
2017-10-06 17:15:10
561
原创 opencv-python(4):用滑动条作调色板
本节将学习两个函数:cv2.creatTrackbar(),cv2.getTrackbarPos()cv2.creatTrackbar()有五个参数:1:对象名字 2:对象所在面板的名字 3:Trackbar的默认值 4:Trackbar的上调范围(0-count) 5:是调节Trackbar的调用函数cv2.getTrackbarPos() 同样有五个参数:1:滑动条的
2017-10-06 11:29:36
2508
原创 代码块的测试
怎么才能让插入的代码块不出错呢import numpy as npimport cv2drawing=Falsemode=Trueix,iy=-1,-1def draw_circle(event,x,y,flags,param): global ix,iy,drawing,mode#global 全局变量 if event==cv2.EVENT_LBUTTONDOWN
2017-10-06 11:07:23
291
原创 opencv-python(3):把鼠标当做画笔
本节学习的函数是:cv2.setMouseCallback()鼠标事件可以是鼠标上的任何动作,比如左键按下,左键松开,左键双击等。我们可以通过鼠标事件获得与鼠标对应的图片上的坐标。1、鼠标事件种类代码:import numpy as npimport cv2events=[i for i in dir(cv2) if 'EVENT' in i]print(events)i
2017-10-06 08:29:46
3833
3
原创 opencv-python(2):绘图函数
1、画线代码:import numpy as npimport cv2img=np.zeros((512,512,3),np.uint8)cv2.line(img,(0,0),(511,511),(255,0,0),5)cv2.imshow('image',img)cv2.waitKey(0)zeros-构造全0矩阵;函数原型:zeros(shape,dtype=None,ord
2017-10-05 20:52:22
652
原创 opencv-python(1):读入、显示、保存图像
1、读取、写入并保存图像cv2.IMREAD_COLOR:读入一副彩色图像。cv2.IMREAD_GRAYSCALE:读入灰度图像。cv2.IMREAD_UNCHANGED:读入一副图像,并且包括图像的alpha通道。代码如下:import numpy as npimport cv2img=cv2.imread('C:\\Users\\WLX\\Desktop\\2.j
2017-10-05 19:50:30
462
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人