OpenCV 填充(ROI)+模糊操作

1、ROI 操作

src = cv.imread('./1.jpg')
cv.imshow('src',src)
dst = src[40:240,100:300]
gray = cv.cvtColor(dst, cv.COLOR_BGR2GRAY)
im = cv.cvtColor(gray,cv.COLOR_GRAY2BGR)
cv.imshow('dst',im)

src[40:240,100:300] = im
cv.imshow('roi',src)
cv.waitKey(0)

结果:

2、均值模糊

img = cv.imread('3.jpg')
cv.imshow('src', img)
# 均值模糊
junzhu = cv.blur(img, (5, 5))
cv.imshow('junzhi', junzhu)
# 中值模糊
mid = cv.medianBlur(img, 5)
cv.imshow('mid', mid)

cv.waitKey(0)

结果:

 3、高斯模糊

img = cv.imread('./b.png')
cv.imshow('src', img)
# 高斯模糊  GaussianBlur() ,参2 与参3 只需要一个就行
gaussian1 = cv.GaussianBlur(img, (0, 0), 10)
gaussian2 = cv.GaussianBlur(img, (5, 5), 0)
cv.imshow('gaussian1111', gaussian1)
cv.imshow('gaussian2222', gaussian2)
cv.waitKey(0)

结果;

 4、边缘保留滤波(epf)

a)高斯双边

img = cv.imread('face.jpg')
cv.imshow('src', img)
# 参2 d 距离 指定距离是,参4从此距离开始计算  参3 sigmaColor 的取值 取大点,把小的噪声去掉  参4 sigmaSpace 的取值 核越小计算量越大
dst = cv.bilateralFilter(img, 0, 100, 10)
cv.imshow('dst', dst)
cv.waitKey(0)

结果:

 b)均值迁移

img = cv.imread('111.jpg')
cv.imshow('src', img)
dst = cv.pyrMeanShiftFiltering(img, 10, 30)
cv.imshow('dst', dst)
cv.waitKey(0)

结果:

 

posted on 2019-01-21 21:28  天下无槛,不服就干  阅读(568)  评论(0编辑  收藏  举报

导航