python-opencv
Mr_zhuzj
这个作者很懒,什么都没留下…
展开
-
python-opencv(12):图像金字塔
图像金字塔定义:同一图像的不同分辨率的子图集合1.pyrDown和pyrUp向下取样:dst=cv2.pyrDown(src)向上取样:dst=cv2.pyrUp(src) 向下取样的原理: 向上取样原理:程序示例:import cv2import numpy as npimg=cv2.imread("lena.bmp",cv2.IMREAD_UNCHAN...原创 2018-08-30 16:25:32 · 392 阅读 · 0 评论 -
python-opencv(10):图像的梯度计算
1.sobel算子dst=cv2.Sobel(src,ddepth,dx,dy,[ksize])ddeph:处理结果图像深度在处理一般的8位图像时,当计算的梯度小于0时,会自动变为0,造成边界信息的丢失。因此一般讲ddeph设为cv2.CV_64F,然后用函数讲结果图像转为8位的图像。dst=cv2.convertScaleAbs(dst)一般来说求取边界是,分别取dx=1...原创 2018-08-30 15:58:01 · 7836 阅读 · 3 评论 -
python-opencv(9):图像的形态学操作
开运算(image)=膨胀(腐蚀(image))dst=cv2.morphologyEx(src,cv2.MORPH_OPEN,kernel)闭运算(image)=腐蚀(膨胀(image))dst=cv2.morphologyEx(src,cv2.MORPH_CLOSE,kernel)梯度(image)=膨胀(image)-腐蚀(image)dst=cv2.morphol...原创 2018-08-30 15:19:11 · 1129 阅读 · 0 评论 -
python-opencv(8):图像的腐蚀与膨胀
语法:dst=cv2.erode(src,kernel,iterations) dst=cv2.dilate(src,kernel,iterations)kernel:卷积核 kernel=np.ones((5,5),np.uint8)程序示例:import cv2import numpy as npimg=cv2.imread("2.png",cv2.IMREA...原创 2018-08-30 15:13:19 · 1244 阅读 · 0 评论 -
python-opencv(7):图像平滑处理
1.均值滤波语法:dst=cv2.blur(src,dsize)程序示例:import cv2img=cv2.imread("1.png",cv2.IMREAD_UNCHANGED)result=cv2.blur(img,(5,5))cv2.imshow("lena",img)cv2.imshow("result",result)cv2.waitKey()cv2.d...原创 2018-08-30 12:16:08 · 5008 阅读 · 0 评论 -
python-opencv(6):阈值分割
语法格式:retval,dst=cv2.threshold(src,thresh,maxval,type)retval,thresh:阈值maxval:最大值type:类型cv2.THRESH_BINARY:二进制阈值化cv2.THRESH_BINARY_INV:反二进制阈值化cv2.THRESH_TRUNC:截断阈值化cv2.THRESH_TOZERO:阈值化为0cv2....原创 2018-08-30 11:29:37 · 912 阅读 · 0 评论 -
python-opencv(5):图像的几何变换
1.图像的缩放语法格式:dst=cv2.resize(src,dsize)dsize:图像缩放的大小(第一个数字是表示列,第二个数字是表示行)dst=cv2.resize(src,None,fx,fy)fx,fy:图像在水平方向和垂直方向缩放的大小程序示例:import cv2img=cv2.imread("1.png",cv2.IMREAD_UNCHANGED)re...原创 2018-08-30 11:11:01 · 304 阅读 · 0 评论 -
python-opencv(4):图像类型转化
程序示例: import cv2img=cv2.imread("1.png",cv2.IMREAD_UNCHANGED)result=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)cv2.imshow("lena",img)cv2.imshow("result",result)cv2.waitKey()cv2.destroyAllWindows()结...原创 2018-08-30 11:01:45 · 1805 阅读 · 0 评论 -
python-opencv(3):图像的加法与融合
1.图像加法(1)numpy加法(取模运算)(2)opencv加法(饱和运算)dst=cv2.add(src1,src2)程序示例:import cv2import numpy as npimg1=cv2.imread("2.jpg",cv2.IMREAD_UNCHANGED)img2=img1result1=img1+img2result2=cv2.add(...原创 2018-08-30 10:56:27 · 1852 阅读 · 0 评论 -
python-opencv(2):图像处理基础
1.直接读取图片像素值:import cv2a=cv2.imread("1.png",cv2.IMREAD_UNCHANGED)print(a[100,100])输出:[ 78 68 178]2.使用numpy访问像素(1)访问图片像素import cv2import numpy as npimg=cv2.imread("1.png",cv2.IMREAD_...原创 2018-08-29 21:42:58 · 270 阅读 · 0 评论 -
python-opencv(1):图像读入,显示和保存
之前也看了很久的opencv,但一直是在用C++编写的,最近在看python,记录一下学习过程,方便以后回顾。倒是没什么难的,基本和C++差不多,除了一些语法方面的问题。至于python怎么调用opencv,网上有很多很完整的过程,我就说了,直接上代码了。import cv2a=cv2.imread("1.png")cv2.imshow("original",a)cv2.waitKey...原创 2018-08-29 21:11:35 · 237 阅读 · 0 评论 -
python-opencv(15):直方图(2)
1.掩膜直方图首先生成掩膜图像:mask=np.zeros(images.shape,np.uint8)mask[200:400,200:400]=255dst=cv2bitwise_and(img,mask)程序示例:import cv2import numpy as npimport matplotlib.pyplot as pltimg=cv2.imread(...原创 2018-08-31 11:52:55 · 230 阅读 · 0 评论 -
python-opencv(14):直方图(1)
1.绘制直方图import numpy as npimport matplotlib.pyplot as pltimport cv2img=cv2.imread("boat.bmp",cv2.IMREAD_UNCHANGED)cv2.imshow("original",img)plt.hist(img.ravel(),256,[0,255])plt.show()cv2.wait...原创 2018-08-31 10:39:24 · 223 阅读 · 0 评论 -
python-opencv(13):图像轮廓
使用的函数:image,contours,hierarchy=cv2.findContours(image,mode,method)dst=cv2.drawContours(src,contours,contourldx,color[,thickness])(contourldx为需要绘制的轮廓的边缘索引,若全部绘制则为-1) 程序示例:import cv2impor...原创 2018-08-31 10:39:14 · 2457 阅读 · 0 评论 -
python-opencv(11):边缘检测
边缘检测的步骤:去燥——计算梯度(梯度值以及方向)——非极大值抑制——滞后阈值滞后阈值的作用: canny函数的使用:edges=cv2.Canny(image,threshold1,threshold2)程序示例:import cv2import numpy as npimg=cv2.imread("lena.bmp",cv2.IMREAD_UNCHANGED...原创 2018-08-30 16:07:46 · 396 阅读 · 0 评论