OpenCV 填充(ROI)+模糊操作

时间:2024-04-26 13:33:27

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)

结果:

OpenCV 填充(ROI)+模糊操作

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)

结果:

OpenCV 填充(ROI)+模糊操作

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)

结果;

OpenCV 填充(ROI)+模糊操作

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)

结果:

OpenCV 填充(ROI)+模糊操作

b)均值迁移

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

结果:

OpenCV 填充(ROI)+模糊操作