计算机视觉基础知识(第一章)

计算机视觉

读取图像部分

    image[0:200,0:200]

颜色通道提取

    b,g,r=cv2.split(image)

图像梯度

laplacian,sobel,scharr算子

通过像素x,y坐标左右的值进行计算

#sobel算子
cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)
#scharr算子
cv2.Scharr(img,cv2.CV_64F,1,0)
cv2.Laplacian(img,cv2.CV_64F)

#取绝对值
image=cv2.convertScaleAbs(img)

图像滤波

均值滤波

#简单的平均卷积操作
blur=cv2.blur(img,(3,3))

方框滤波

box=cv2.boxFilter(img,-1,(3,3),normalize=True)

高斯滤波

aussian=cv2.GaussianBlur(img,(5,5),1)

中值滤波

median=cv2.medianBlur(img,5)
#把三张图连在一起
#横着拼接
res=np.hstack((blur,aussian,median))
#竖着拼接
res=np.vstack((blur,aussian,median))
cv2.imshow("median vs avrage",res)

图像阈值

阈值又叫临界值,是指一个效应能够产生的最低值或最高值。

ret,dst=cv2.threshold(src,thresh,maxval,type)
  • src输入图,dst输出值,thresh阈值,超过阈值被赋予的值,type二值化操作;
  • THRESH_BINARY(超过阈值的取最大值maxval,否则取0);
  • THRESH_BINARY_INV反转操作;
  • THRESH_TRUNC(大于阈值取阈值,否则不变);
  • THRESH_TOZERO(大于阈值不变,否则为0);
  • THRESH_TOZERO_INV;

Canny边缘检测算法

  • 使用高斯滤波器。以平滑图像,滤除噪声;
  • 计算图像中每个像素点的强度和方向;
  • 应用非极大值抑制,以消除边缘检测带来的散杂相应;
  • 应用双阈值检测来确定真实的和潜在的边缘;
  • 通过抑制鼓励的弱边缘检测
img=cv2.imread("lena.jpg",cv2.IMREAD_GRAYSCALE)#读取为灰度图像
v1=cv2.Canny(img,80,150)
v2.cv2.Canny(img,50,100)
res=np.hstack(v1,v2)
cv_show(res,"res")
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值