week1 基本圖像處理
a=[1,2,3]
print("Hello friends,welcome week1's class .........",29*"-","%s"%(a))
環境配置
!pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
import cv2
import numpy as np
import matplotlib
matplotlib 使用例子
https://www.cnblogs.com/yanghailin/p/11611333.html,
import matplotlib.pyplot as plt
i=0
print(image_data[i%10])
plt.imshow(image_data[i%10],cmap = 'gray')
i=i+1
plt.imshow(cv2.imread('lena.jpg'))
img = cv2.imread("lena.jpg")
img= cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
直接用生成矩陣的方式生成圖片
img0 = np.array([[0,0,1],[0,1,0],[1,0,0]])
查看矩陣數值以及大小
print(img0)
print(img0.shape)
print("img0 size = %s,%s"%(img0.shape[0],img0.shape[1]))
import matplotlib.pyplot as plt
import matplotlib.pylab as plt
plt.imshow(img0,cmap = 'gray' )
color map
plt.imshow(img0)
加一個%matplotlib inline就會顯示
cap = cv2.VideoCapture(0)
cap = cv2.VideoCapture("How Computer Vision Works.mp4")
print(cap.isOpened())
return_value=True
if 1:
while return_value:
return_value,frame = cap.read()
print(cap.isOpened())
plt.imshow(frame,cmap = 'gray')
print(frame.shape)
cap.release()
img = cv2.imread("lena.jpg")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
print(img.shape)
roi = img[100:200,300:400]
plt.imshow(img)
img_gray=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_gray.shape
plt.imshow(img_gray,cmap='gray')
import cv2
img_BGR = cv2.imread('lena.jpg')
img_hsv=cv2.cvtColor(img_BGR,cv2.COLOR_BGR2HSV)
plt.imshow(img_hsv,cmap='')
import cv2
img = cv2.imread('lena.jpg')
plt.imshow(cv2.threshold(img,128,200,cv2.THRESH_BINARY))
img =cv2.resize(img,(50,30))
plt.imshow(img)
img.shape
img = cv2.imread('lena.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img =cv2.resize(img,(500,300))
plt.imshow(img)
img.shape
img_roi =img[100:300,0:200]
plt.imshow(img_roi)
import numpy as np
M = np.float32([[1,0,300],[0,1,200]])
print(img[0+50,0])
img_1=cv2.warpAffine(img,M,(1000,1000))
plt.imshow(img_1)
print(img_1[200+50,300])
theta=0.5
M = np.float32([[0.1,0,100],[0,2,100]])
cols=800
rows=800
dst = cv2.warpAffine(img,M,(cols,rows))
plt.imshow(dst)
pts1 = np.float32([[56,65],[368,52],[28,387],[389,390]])
pts2 = np.float32([[0,0],[100,0],[0,300],[300,300]])
M = cv2.getPerspectiveTransform(pts1,pts2)
print(M)
dst = cv2.warpPerspective(img,M,(300,300))
plt.imshow(dst)
img= cv2.GaussianBlur(img, (11, 11), 1, 0)
plt.imshow(img)
cv2.Canny(pil_img3,30,150)
kernel = np.ones((3,3),np.float32)/8
kernel=-kernel
kernel[0,:]=[-1,-1,-1]
kernel[1,:]=[0,0,0]
kernel[2,:]=[1,1,1]
print(kernel)
plt.imshow(img)
print(img.shape)
result = cv2.filter2D(img,-1,kernel)
result.shape
print(result[0,0])
plt.imshow(result*255)
result = cv2.filter2D(result,-1,kernel)
plt.imshow(result)
result.shape
wm = cv2.imread("water1.png")
wm = cv2.resize(wm,(300,300))
wm = 255-wm
img1 = cv2.resize(img,(300,300))
print(wm.shape)
plt.imshow(cv2.add(wm,img1))
plt.imshow(cv2.addWeighted(wm,0.9,img1,0.5,0))
plt.imshow(wm)