宁波英文网站建设,网站节约化建设,做网站的税是多少,做竞价推广的网站要求这里写目录标题 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 位运算 cv2.bitwise_and() 2 图像增强2.1 线性变换2.2 非线性变换 3 图像几何… 这里写目录标题 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 位运算 cv2.bitwise_and() 2 图像增强2.1 线性变换2.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 pltlena cv2.imread(lenacolor.png,-1)
noise np.random.randint(0,255,lena.shape,dtypenp.uint8)
img_add lenanoise
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 pltimg_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 pltimg_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,cmapgray)
plt.subplot(132)
plt.title(img_1)
plt.imshow(img_1,cmapgray)
plt.subplot(133)
plt.title(img_sub)
plt.imshow(img_sub,cmapgray)
plt.show() 1.3 乘法 img cv2.multiply(img1, img2)
import cv2
import numpy as np
import matplotlib.pyplot as pltlena 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 pltlena 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,cmapgray)
plt.subplot(132)
plt.title(img_noise)
plt.imshow(img_noise,cmapgray)
plt.subplot(133)
plt.title(img_div)
plt.imshow(img_div,cmapgray)
plt.show() 1.5 位运算 cv2.bitwise_and()
import cv2
import numpy as np
import matplotlib.pyplot as pltlena cv2.imread(lenacolor.png,1)
mask np.zeros_like(lena,dtypenp.uint8)
mask cv2.circle(mask,(280,280),111,(255,255,255),-1)
re cv2.bitwise_and(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(re)
plt.imshow(re[...,::-1])
plt.show() import cv2
import numpy as np
import matplotlib.pyplot as pltlena cv2.imread(lenacolor.png,1)
mask np.zeros(lena.shape[:2],dtypenp.uint8)
mask cv2.circle(mask,(280,280),111,(255,255,255),-1)
re cv2.bitwise_and(lena,lena,maskmask)plt.subplot(131)
plt.title(lena)
plt.imshow(lena[...,::-1])
plt.subplot(132)
plt.title(mask)
plt.imshow(mask,gray)
plt.subplot(133)
plt.title(re)
plt.imshow(re[...,::-1])
plt.show()2 图像增强
2.1 线性变换
import cv2
import numpy as np
import matplotlib.pyplot as pltimg cv2.imread(lianhua.png,1)
re img*210
re re.astype(np.uint8)
re1 cv2.convertScaleAbs(img, alpha2, beta10)plt.subplot(131)
plt.title(img)
plt.imshow(img[...,::-1])
plt.subplot(132)
plt.title(re0)
plt.imshow(re0[...,::-1])
plt.subplot(133)
plt.title(re1)
plt.imshow(re1[...,::-1])
plt.show()2.2 非线性变换
import cv2
import numpy as np
import matplotlib.pyplot as plt## 1 gamma
def gamma_aug(img,c,gamma):gamma_table[c*np.power(x/255.0,gamma)*255.0 for x in range(256)]gamma_tablenp.round(np.array(gamma_table)).astype(np.uint8)return cv2.LUT(img,gamma_table)## 2 log
def log_aug(img,c,r):gamma_table[c*np.log10(1x/255.0*r)*255.0 for x in range(256)]gamma_tablenp.round(np.array(gamma_table)).astype(np.uint8)return cv2.LUT(img,gamma_table)if __name__ __main__:img cv2.imread(lianhua.png,1)img11 gamma_aug(img,c1,gamma0.1)img12 gamma_aug(img, c1, gamma0.8)img21 log_aug(img, c1, r10)img22 log_aug(img, c2, r10)plt.subplot(231)plt.title(img)plt.imshow(img[...,::-1])plt.subplot(232)plt.title(img11)plt.imshow(img11[..., ::-1])plt.subplot(233)plt.title(img12)plt.imshow(img12[..., ::-1])plt.subplot(234)plt.title(img)plt.imshow(img[...,::-1])plt.subplot(235)plt.title(img21)plt.imshow(img21[..., ::-1])plt.subplot(236)plt.title(img22)plt.imshow(img22[..., ::-1])plt.show()3 图像几何变换
3.1 裁剪、放大、缩小 3.2 平移变换 3.3 错切变换 3.4 镜像变换 3.5 旋转变换 3.6 透视变换 3.7 最近邻插值、双线性插值