OpenCV

OpenCV: OpenCV modules

cv2.imread(filepath,flags)

  • filepath:要读入图片的完整路径
  • flags:读入图片的标志
    cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道cv2.IMREAD_GRAYSCALE:读入灰度图片
    cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道

cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)

  • scr:原始图像
  • dsize:输出图像的尺寸(元组方式)
  • dst:输出图像
  • fx:沿水平轴缩放的比例因子
  • fy:沿垂直轴缩放的比例因子
  • interpolation:插值方法,有以下5种:
    image

GaussianBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType]]]) -> dst

  • src –输入图像;图像可以具有任何数量的信道,其独立地处理的,但深度应CV_8U,CV_16U,CV_16S,CV_32F或CV_64F。
  • dst –输出与图像大小和类型相同的图像src。
  • ksize –高斯核大小。 ksize.width 并且 ksize.height 可以有所不同,但它们都必须是正数和奇数。或者,它们可以为零,然后从计算 sigma*。
  • sigmaX – X方向上的高斯核标准偏差。
  • sigmaY – Y方向上的高斯核标准差;如果 sigmaY 为零,则将其设置为等于 sigmaX;如果两个西格玛均为零,则分别根据ksize.width 和 进行计算 ksize.height(getGaussianKernel()有关详细信息,请参见 link);完全控制的结果,无论这一切的语义未来可能的修改,建议指定所有的ksize,sigmaX和sigmaY。
  • borderType –像素外推方法。

cvtColor(src, method) -> dst

cv2.threshold (src, thresh, maxval, type)

  1. src:源图片,必须是单通道
  2. thresh:阈值,取值范围0~255
  3. maxval:填充色,取值范围0~255
  4. type:阈值类型,具体见下表
    image

cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])

image:要检测的图像
threshold1:阈值1(最小值)
threshold2:阈值2(最大值),使用此参数进行明显的边缘检测
edges:图像边缘信息
apertureSize:sobel算子(卷积核)大小
L2gradient :布尔值。
True: 使用更精确的L2范数进行计算(即两个方向的导数的平方和再开方)
False:使用L1范数(直接将两个方向导数的绝对值相加)

findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> contours, hierarchy

第一个参数是寻找轮廓的图像;

第二个参数表示轮廓的检索模式,有四种(本文介绍的都是新的cv2接口):
cv2.RETR_EXTERNAL表示只检测外轮廓
cv2.RETR_LIST检测的轮廓不建立等级关系
cv2.RETR_CCOMP建立两个等级的轮廓,上面的一层为外边界,里面的一层为内孔的边界信息。如果内孔内还有一个连通物体,这个物体的边界也在顶层。
cv2.RETR_TREE建立一个等级树结构的轮廓。

第三个参数method为轮廓的近似办法
cv2.CHAIN_APPROX_NONE存储所有的轮廓点,相邻的两个点的像素位置差不超过1,即max(abs(x1-x2),abs(y2-y1)) =1
cv2.CHAIN_APPROX_SIMPLE压缩水平方向,垂直方向,对角线方向的元素,只保留该方向的终点坐标,例如一个矩形轮廓只需4个点来保存轮廓信息
cv2.CHAIN_APPROX_TC89_L1,CV_CHAIN_APPROX_TC89_KCOS使用teh-Chinl chain 近似算法

cv2.drawContours(image, contours, contourIdx, color[, thickness[, lineType[, hierarchy[, maxLevel[, offset ]]]]])

第一个参数是指明在哪幅图像上绘制轮廓;
第二个参数是轮廓本身,在Python中是一个list。
第三个参数指定绘制轮廓list中的哪条轮廓,如果是-1,则绘制其中的所有轮廓。后面的参数很简单。其中thickness表明轮廓线的宽度,如果是-1(cv2.FILLED),则为填充模式。绘制参数将在以后独立详细介绍。

posted @   残影0无痕  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示