4/13
===
conda install -c conda-forge imutils
```
import matplotlib.pyplot as plt
import cv2
img=cv2.imread('car.jpg',1)
img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
laplaction=cv2.Laplacian(img,cv2.CV_64F)
sobelx=cv2.Sobel(img,cv2.CV_64F,1,0,ksize=5)
sobely=cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5)
canny=cv2.Canny(img,100,1000)
'''
cv2.imshow('L',laplaction)
cv2.imshow('sx',sobelx)
cv2.imshow('sy',sobely)
cv2.imshow('canny',canny)
cv2.waitKey()
cv2.destroyAllWindows()
'''
plt.subplot(2,2,1) #2欄2列圖
plt.imshow(img,cmap='gray')
plt.title('laplacian')
plt.xticks([])
plt.yticks([])
plt.subplot(2,2,2) #2欄2列圖
plt.imshow(sobelx,cmap='gray')
plt.title('sobelx')
plt.xticks([])
plt.yticks([])
plt.subplot(2,2,3) #2欄2列圖
plt.imshow(sobely,cmap='gray')
plt.title('sobely')
plt.xticks([])
plt.yticks([])
plt.subplot(2,2,4) #2欄2列圖
plt.imshow(canny,cmap='gray')
plt.title('canny')
plt.xticks([])
plt.yticks([])
```
```
import cv2
import numpy as np
import imutils
image = cv2.imread('002.jpg')
image = imutils.resize(image,width=500)
cv2.imshow('Original',image)
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray',gray)
gray = cv2.bilateralFilter(gray,11,17,17)
cv2.imshow('Bilater',gray)
canny = cv2.Canny(gray,170,200)
cv2.imshow('canny',canny)
(new,cnts,_) = cv2.findContours(canny.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
cnts = sorted(cnts,key=cv2.contourArea,reverse=True)[:30]
NumberPlateCnt = None
count = 0
for c in cnts:
peri = cv2.arcLength(c,True)
approx = cv2.approxPolyDP(c,0.02*peri,True)
if (len(approx) == 4):
NumberPlateCnt = approx
break
cv2.drawContours(image,[NumberPlateCnt],-1,(0,0,255),3)
cv2.imshow('Final Image',image)
cv2.waitKey()
cv2.destroyAllWindows()
```