python图像处理
numpy矩阵计算
import numpy as np
array1 = np.array(list1)
array1 = np.zeros( (d1,d2) )
array1 = np.arange(start,end)
array1 = np.linspace(start,end,num)
array1 = np.random.rand( d1,d2 )
opencv图像处理

import cv2
https://juejin.cn/post/7449012909876903951
img = cv2.imread("data//cameraman.tif")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
cv2.imshow("img1",image)
cv2.waitKey()
img_pow = cv2.pow(src=img, power=2)
img_log = cv2.log(img)
#滤波器
img_avg = cv2.blur(src=img, ksize=(5, 5))
img_median = cv2.medianBlur(src=img, ksize=5)
img_gauss = cv2.GaussianBlur(img, ksize=(5, 5),sigmaX=0)
img_fang = cv2.boxFilter(src=img, ddepth=-1, ksize=(5, 5), normalize=1) # normalize=1表示做归一化处理
#边缘检测
img_Laplacian = cv2.Laplacian(src=img, ddepth=-1, ksize=3)
img_sobel = cv2.Sobel(src=img, ddepth=cv2.CV_64F, dx=1, dy=0, ksize=3)
img_canny = cv2.Canny(image=gaussianBlur, threshold1=50, threshold2=150)
#二值化
ret, img_bin = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)
img_desk = cv2.adaptiveThreshold(img_desk, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 7, 1)
contours, hierarchy = cv2.findContours(image=img_bin, # 寻找轮廓的图像
mode=cv2.RETR_TREE, # 表示轮廓的检索模式,TREE表示建立一个等级树结构的轮廓
method=cv2.CHAIN_APPROX_NONE)# 描述轮廓的近似办法,APPROX_NONE表示存储轮廓的所有轮廓点
#目标匹配
result = cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED, mask)
#腐蚀和膨胀(基于二值化)
kernel = np.ones((5,5),np.uint8)
erosion = cv2.erode(img,kernel)
dilation = cv2.dilate(img,kernel)
pillow图像处理
from PIL import Image
img = Image.open("data//Lenna.jpg")
img = np.random.rand( d1,d2,3 ).astype(uint8)
img1 = Image.fromarray(img)
img_lR = img.transpose(Image.FLIP_LEFT_RIGHT)
img.show()
matplotlib绘图
import matplotlib.pyplot as plt
plt.subplot(2, 2, 1)
plt.imshow(img)
plt.title("原图")
plt.subplot(2, 2, 2)
plt.imshow(img_lR)
plt.title("左右翻转")
plt.show()

浙公网安备 33010602011771号