计算机视觉基础-第一天(学习笔记)

总结利用opencv进行图像处理的相关内容

一、读取

1、导入模块

- cv2.IMREAD_COLOR:彩色图像
- cv2.IMREAD_GRAYSCALE:灰度图像

2、读取图片

img=cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)

3、读取视频

vc = cv2.VideoCapture('test.mp4')

 4、截取部分内容

img=cv2.imread('cat.jpg')
cat=img[0:200,0:200] 
cv_show('cat',cat)

二、图像滤波

mg = cv2.imread('lenaNoise.png')

cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
#%%
# 均值滤波
# 简单的平均卷积操作
blur = cv2.blur(img, (3, 3))

cv2.imshow('blur', blur)
cv2.waitKey(0)
cv2.destroyAllWindows()
#%%
# 方框滤波
# 基本和均值一样,可以选择归一化
box = cv2.boxFilter(img,-1,(3,3), normalize=True)  

cv2.imshow('box', box)
cv2.waitKey(0)
cv2.destroyAllWindows()
#%%
# 方框滤波
# 基本和均值一样,可以选择归一化,容易越界
box = cv2.boxFilter(img,-1,(3,3), normalize=False)  

cv2.imshow('box', box)
cv2.waitKey(0)
cv2.destroyAllWindows()
#%%
# 高斯滤波
# 高斯模糊的卷积核里的数值是满足高斯分布,相当于更重视中间的
aussian = cv2.GaussianBlur(img, (5, 5), 1)  

cv2.imshow('aussian', aussian)
cv2.waitKey(0)
cv2.destroyAllWindows()
#%%
# 中值滤波
# 相当于用中值代替
median = cv2.medianBlur(img, 5)  # 中值滤波

cv2.imshow('median', median)
cv2.waitKey(0)
cv2.destroyAllWindows()
#%%
# 展示所有的
res = np.hstack((blur,aussian,median))
#print (res)
cv2.imshow('median vs average', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

d=====( ̄▽ ̄*)b记录一下高斯滤波,比较常用~

高斯滤波不考虑值的相关而是考虑位置的远近。

三、梯度

dst = cv2.Sobel(src, ddepth, dx, dy, ksize)
- ddepth:图像的深度
- dx和dy分别表示水平和竖直方向
- ksize是Sobel算子的大小
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=3)
#cv2.CV_64F显示多位 为了得到复数然后取绝对值
cv_show(sobelx,'sobelx')

四、边缘检测

Canny边缘检测
1)  使用高斯滤波器,以平滑图像,滤除噪声。

2)   计算图像中每个像素点的梯度强度和方向。

3)   应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。

4)   应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。

5)   通过抑制孤立的弱边缘最终完成边缘检测。

连有边界的意思是,当前点不符合阈值的要求,但是它和边界点相连,则也为边界。

canny的使用

img=cv2.imread("car.png",cv2.IMREAD_GRAYSCALE)

v1=cv2.Canny(img,120,250)
v2=cv2.Canny(img,50,100)

res = np.hstack((v1,v2))
cv_show(res,'res')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值