发布时间:2025-06-24 20:10:22 作者:北方职教升学中心 阅读量:870
左、7cv_show( 'blur' , blur)
方框滤波 box = cv2. boxFilter( img, - 1 , ( 3 , 3 ) , normalize= False ) cv_show( 'box' , box)
高斯滤波 aussian = cv2. GaussianBlur( img, ( 5 , 5 ) , 1 ) cv_show( 'aussian' , aussian)
中值滤波 median = cv2. medianBlur( img, 5 ) cv_show( 'median' , median)
res = np. hstack( ( blur, aussian, median) ) cv_show( 'res' , res)
右填充的大小replicate
= cv2
. copyMakeBorder
( img
, top_size
, bottom_size
, left_size
, right_size
, borderType
= cv2
. BORDER_REPLICATE
) reflect
= cv2
. copyMakeBorder
( img
, top_size
, bottom_size
, left_size
, right_size
, cv2
. BORDER_REFLECT
) reflect101
= cv2
. copyMakeBorder
( img
, top_size
, bottom_size
, left_size
, right_size
, cv2
. BORDER_REFLECT_101
) wrap
= cv2
. copyMakeBorder
( img
, top_size
, bottom_size
, left_size
, right_size
, borderType
= cv2
. BORDER_WRAP
) constant
= cv2
. copyMakeBorder
( img
, top_size
, bottom_size
, left_size
, right_size
, cv2
. BORDER_CONSTANT
, value
= 0 ) plt. subplot( 231 ) , plt. imshow( img, 'gray' ) , plt. title( 'ORIGINAL' ) plt. subplot( 232 ) , plt. imshow( replicate, 'gray' ) , plt. title( 'REPLICATE' ) plt. subplot( 233 ) , plt. imshow( reflect, 'gray' ) , plt. title( 'REPLECT' ) plt. subplot( 234 ) , plt. imshow( wrap, 'gray' ) , plt. title( 'REFLECT_101' ) plt. subplot( 235 ) , plt. imshow( wrap, 'gray' ) , plt. title( 'WRAP' ) plt. subplot( 236 ) , plt. imshow( constant, 'gray' ) , plt. title( 'CONSTAVI' ) plt. show( )
简单数值计算 img_cat = cv2. imread( '01_Picture/01_cat.jpg' ) img_dog = cv2. imread( '01_Picture/03_dog.jpg' )
img_cat2 = img_cat + 10
( img_cat + img_cat2) [ : 5 , : , 0 ]
cv2. add( img_cat, img_cat2)
图像融合 图像缩放 img_dog = cv2. resize( img_dog, ( 500 , 414 ) )
res = cv2. resize( img, ( 0 , 0 ) , fx= 3 , fy= 1 )
加权融合 res = cv2. addWeighted( img_cat, 0.4 , img_dog, 0.6 , 0 ) plt. imshow( res)
形态学操作 腐蚀 通常拿二值图像进行操作 减少或删除图像中的前景像素(比如物体的边缘或者特定特征),从而达到缩小对象边界或者消除图像中的噪声等效果 img = cv2. imread( '01_Picture/05_Dige.png' )
kernel = np. ones( ( 5 , 5 ) , np. uint8) erosion = cv2. erode( img, kernel, iterations= 1 ) cv_show( 'erosion' , erosion)
pie = cv2. imread( '01_Picture/06_pie.png' ) kernel = np. ones( ( 30 , 30 ) , np. uint8) erosion_1 = cv2. erode( pie, kernel, iterations= 1 ) erosion_2 = cv2. erode( pie, kernel, iterations= 2 ) erosion_3 = cv2. erode( pie, kernel, iterations= 3 ) res = np. hstack( ( erosion_1, erosion_2, erosion_3) ) cv_show( 'res' , res)
膨胀 相当于腐蚀的逆操作 腐蚀去噪会使目标的边界缩小,通过膨胀加以还原,从而去除噪声、下、
文章目录 前言 ROI--截取 边界填充 简单数值计算 图像融合 形态学操作 图像梯度 Sobel算子 Scharr算子 Laplacian算子 阈值操作 图像平滑
前言 课程学习笔记,BV1PV411774y
ROI–截取 截取部分图像数据 import cv2 import matplotlib. pyplot as plt import numpy as np % matplotlib inlineimg = cv2. imread( '01_Picture/01_cat.jpg' ) def cv_show ( name, img) : cv2. imshow( name, img) cv2. waitKey( 0 ) cv2. destroyAllWindows( )
cat = img[ 100 : 300 , 0 : 200 ] cv_show( 'cat' , cat)
颜色通道提取 b, g, r = cv2. split( img)
img = cv2. merge( ( b, g, r) )
cur_img = img. copy( ) cur_img[ : , : , 0 ] = 0 cur_img[ : , : , 2 ] = 0 cv_show( 'G' , cur_img)
边界填充 ① 边界填充:对图像进行一些变换,让原始图像扩大
② 边界填充的入口参数:
BORDER_REPLICATE:复制法,直接复制最边缘像素 BORDER_REFLECT:反射法,对感兴趣的图像中的像素在两边进行复制,fedcba|abcdefgh|hgfedcb BORDER_REFLECT_101:反射法,以最边缘像素为轴,对称,gfedcb|abcdefgh|gfedcba BORDER_WRAP:外包装法,cdefgh|abcdefgh|abcdefg BORDER_CONSTANT:常量法,常数值填充 top_size, bottom_size, left_size, right_size = ( 50 , 50 , 50 , 50 )