OpenCV入门学习笔记(2)图像进阶操作

  • cvtColor(src,dst )

img2 = cv2.cvtColor(img1,dst)##进行颜色空间变换

解释:第一个参数为要转化的图片,第二个参数为进行的颜色空间变换,返回的参数为变换颜色空间后的图片。

  • view()

img2 = img1.view()##浅拷贝

  • copy()

img2 = img1.copy()##深拷贝

  • split(img)

b,g,r = cv2.split(img)##分离颜色通道

解释:输入的参数为要分离的图片,返回的三个参数分别为分离的三个颜色通道。

  • merge((b,g,r))

img = cv2.merge((b,g,r))##将颜色通道合并

解释:输入的参数为三个要合并的颜色通道,返回的值为合并后的图片

  • line(img,pt1,pt2,color,thinkness)

cv2.line(img,pt1,pt2,color,thinkness)##绘制直线

解释:第一个参数为要绘画的图片,第二个参数为起始点,第三个参数为终点,第四个参数为线的颜色,第五个参数为线的粗细程度。

  • rectangle(img,pt1,pt2,color,thinkness)

cv2.rectangle(img,pt1,pt2,color,thinkness)##绘制矩形

解释:第一个参数为要绘画的图片,第二个参数为矩形左上角的点,第三个参数为右上角的点,第四个参数为线的颜色,第五个参数为线的粗细程度。

  • circle(img,center,radius,color,thickness)

cv2.circle(img,center,radius,color,thickness)##绘制圆

解释:第一个参数为要绘画的图片,第二个参数为圆心坐标,第三个参数为圆的半径,第四个参数为线的颜色,第五个参数为线的粗细程度。

  • ellipse(img,center,axes,angle,startAngle,endAngle,color)

cv2.ellipse(img,center,axes,angle,startAngle,endAngle,color)##绘制椭圆

解释:第一个参数为要绘画的图片,第二个参数为圆心坐标,第三个参数为(长轴,短轴),第四个参数为椭圆转动角度,第五个参数为椭圆圆弧起始角度,第六个参数为椭圆圆弧结束角度。

  • polylines(img,pts,isCLosed,color,thickness)

cv2.polylines(img,pts,isCLosed,color,thickness)##绘制多边形

解释:第一个参数为要绘画的图片,第二个参数为多边形的点集,第三个参数为所绘制的图像是否闭合,第四个参数为线条的颜色,第五个参数为线条的颜色。

注:pts 是三维的。

  • putText(img,text,org,fontFace,fontScale,color)

cv2.putText(img,text,org,fontFace,fontScale,color)##绘制文字

解释:第一个参数为要绘画的图片,第二个参数是所写的文字,第三个参数是文字起始坐标,第四个参数为字体类型,第五个参数为字的大小,第六个参数为字体颜色。

注:OpenCV不能直接绘制中文。

  • cv2.add(img1,img2)

new_img = cv2.add(img1,img2)##两张图片相加

解释:输入的两个参数为两张图片,输出的参数为相加后的新图片。

注:输入的两张图片必须长宽一致,且通道数一致。add的规则是对应位置的元素相加,若和超过255,则变为255。

  • cv2.subtract(img1,img2)

new_img = cv2.subtract(img1,img2)##两张图片相减

解释:输入的两个参数为两张图片,输出的参数为相减后的新图片。

  • cv2.multiply(img1,img2)

new_img = cv2.multiply(img1,img2)##两张图片相乘

解释:输入的两个参数为两张图片,输出的参数为相乘后的新图片。

  • cv2.divide(img1,img2)

new_img = cv2.divide(img1,img2)##两张图片相除

解释:输入的两个参数为两张图片,输出的参数为相除后的新图片。

  • addWeighted(img1,alpha,img2,beta,gamma)

new_img = cv2.addWeighted(img1,alpha,img2,beta,gamma)##图片融合

解释:输入的第一个参数为第一张图片,第二个参数为第一张图片的权重,第三个参数为第二张图片,第四个参数为第二张图片的权重,第五个参数为偏差值。

  • resize(img,dsize)

cv2.resize(img,dsize)##图片的放缩

解释:第一个参数为需要缩放的图片,第二个参数为放缩后图片的大小。

  • flip(img,flipCode)

new_img = cv2.flip(img,flipCode)##图片翻转

解释:第一个参数为需要翻转的图片,第二个参数为翻转的类型,返回的参数为新的图片。其中第二个参数的取值:
flipCode = 0 表示上下翻转;
flipCode > 0 表示左右翻转;
flipCode < 0 表示上下+左右翻转。

  • rotate(img,rotateCode)

new_img = cv2.rotate(img,rotateCode)##图片旋转

解释:第一个参数为需要旋转的图片,第二个参数为旋转的角度,返回的参数为新的图片。其中第二个参数的取值:
ROTATE_90_CLOCKWISE ,顺时针旋转90度;
ROTATE_90_COUNTERCLOCKWISE,逆时针旋转90度;
ROTATE_180,旋转180度。

  • warpAffine(img,M,dsize)

new_img = cv2.warpAffine(img,M,dsize)##仿射变换之图片平移

解释:第一个参数为要进行平移的图片,第二个参数为变换矩阵,第三个参数为输出图片大小,返回的参数为平移变换后的新图片。

  • getRotationMatrix2D(center,angle,scale)

M = cv2.getRotationMatrix2D(center,angle,scale)##获得变换矩阵

解释:第一个参数为旋转的中心,第二个参数为旋转的角度,第三个参数为缩放因子,返回的参数为变换矩阵。

  • getAffineTransform(img[],dst[])

M = cv2.getAffineTransform(img[],dst[])##通过点获得变换矩阵

解释:第一个参数为初始图片对应的点集,第二个参数为变换后对应的点集,返回的参数为变换矩阵。

  • getPerspectiveTransform(src[],dst[])

M = cv2.getPerspectiveTransform(src[],dst[])##获得透射变换的矩阵

解释:第一个参数为变换前四个点的坐标,第二个参数为变换后四个点的坐标,返回的参数为透射变换矩阵。

  • warpPerspective(img,M,dsize)

cv2.warpPerspective(img,M,dsize)##仿射变换之透射变换

解释:第一个参数为要进行透射的图片,第二个参数为透射变换矩阵,第三个参数为输出图片大小,返回的参数为透射变换后的新图片。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值