这里写目录标题
1 图像加减乘除位运算 1.1 加法 img = cv2.add(img1, img2) 1.2 减法 img = cv2.subtract(img1, img2) 1.3 乘法 img = cv2.multiply(img1, img2) 1.4 除法 img = cv2.divide(img1, img2) 1.5 位运算
2 图像增强
3 图像几何变换 3.1 裁剪、放大、缩小 3.2 平移变换 3.3 错切变换 3.4 镜像变换 3.5 旋转变换 3.6 透视变换 3.7 最近邻插值、双线性插值
1 图像加减乘除位运算
1.1 加法 img = cv2.add(img1, img2)
import cv2
import numpy as np
import matplotlib. pyplot as plt
lena = cv2. imread( 'lenacolor.png' , - 1 )
noise = np. random. randint( 0 , 255 , lena. shape, dtype= np. uint8)
img_add = lena+ noise
img_cv_add = cv2. add( lena, noise)
plt. subplot( 221 )
plt. title( 'lena' )
plt. imshow( lena[ . . . , : : - 1 ] )
plt. subplot( 222 )
plt. title( 'noise' )
plt. imshow( noise[ . . . , : : - 1 ] )
plt. subplot( 223 )
plt. title( 'img_add' )
plt. imshow( img_add[ . . . , : : - 1 ] )
plt. subplot( 224 )
plt. title( 'img_cv_add' )
plt. imshow( img_cv_add[ . . . , : : - 1 ] )
plt. show( )
1.2 减法 img = cv2.subtract(img1, img2)
import cv2
import numpy as np
import matplotlib. pyplot as plt
img_0 = cv2. imread( '34.jpeg' , - 1 )
img_1 = cv2. imread( '35.jpeg' , - 1 )
img_sub = cv2. subtract( img_0, img_1)
plt. subplot( 131 )
plt. title( 'img_0' )
plt. imshow( img_0[ . . . , : : - 1 ] )
plt. subplot( 132 )
plt. title( 'img_1' )
plt. imshow( img_1[ . . . , : : - 1 ] )
plt. subplot( 133 )
plt. title( 'img_sub' )
plt. imshow( img_sub[ . . . , : : - 1 ] )
plt. show( )
import cv2
import numpy as np
import matplotlib. pyplot as plt
img_0 = cv2. imread( 'img_no.png' , 0 )
img_1 = cv2. imread( 'sub.png' , 0 )
img_sub = cv2. subtract( img_0, img_1)
plt. subplot( 131 )
plt. title( 'img_0' )
plt. imshow( img_0, cmap= 'gray' )
plt. subplot( 132 )
plt. title( 'img_1' )
plt. imshow( img_1, cmap= 'gray' )
plt. subplot( 133 )
plt. title( 'img_sub' )
plt. imshow( img_sub, cmap= 'gray' )
plt. show( )
1.3 乘法 img = cv2.multiply(img1, img2)
import cv2
import numpy as np
import matplotlib. pyplot as plt
lena = cv2. imread( 'lenacolor.png' , - 1 )
mask = np. zeros_like( lena, np. uint8)
mask[ 204 : 392 , 213 : 354 ] = 1
img_mul = cv2. multiply( lena, mask)
plt. subplot( 131 )
plt. title( 'lena' )
plt. imshow( lena[ . . . , : : - 1 ] )
plt. subplot( 132 )
plt. title( 'mask' )
plt. imshow( mask[ . . . , : : - 1 ] )
plt. subplot( 133 )
plt. title( 'img_mul' )
plt. imshow( img_mul[ . . . , : : - 1 ] )
plt. show( )
1.4 除法 img = cv2.divide(img1, img2)
import cv2
import numpy as np
import matplotlib. pyplot as plt
lena = cv2. imread( 'lenacolor.png' , 0 )
img_noise = cv2. circle( lena. copy( ) , ( 280 , 300 ) , 150 , ( 0 , 255 , 0 ) , 10 )
img_div = cv2. divide( img_noise, lena)
plt. subplot( 131 )
plt. title( 'lena' )
plt. imshow( lena, cmap= 'gray' )
plt. subplot( 132 )
plt. title( 'img_noise' )
plt. imshow( img_noise, cmap= 'gray' )
plt. subplot( 133 )
plt. title( 'img_div' )
plt. imshow( img_div, cmap= 'gray' )
plt. show( )
1.5 位运算
2 图像增强
2.1 线性变换
2.2 非线性变换
3 图像几何变换
3.1 裁剪、放大、缩小
3.2 平移变换
3.3 错切变换
3.4 镜像变换
3.5 旋转变换
3.6 透视变换
3.7 最近邻插值、双线性插值