标题
图片裁剪
import cv2
img = cv2.imread("./data/cut/thor.jpg")
print(img.shape)
cropped = img[0:128, 0:512] # 裁剪坐标为[x0:x1, y0:y1]
cv2.imwrite("./data/cut/cv_cut_thor.jpg", cropped) # 保存到本地相对位置
模板匹配
src=cv.imread("C:\images\cv_cut_thor.jpg")#coins.jpg
cv.imshow("image",src)
dst=cv.GaussianBlur(src,(3,3),0)#高斯滤波
gray=cv.cvtColor(dst,cv.COLOR_BGR2GRAY)#转换为灰度图
#使用二值化
#ret,binary=cv.threshold(gray,0,255,cv.THRESH_BINARY|cv.THRESH_OTSU)
#cv.imshow("binary image",binary)
#使用Canny
edge_output=cv.Canny(gray,30,90)
cv.imshow("Canny image",edge_output)
cv.imwrite("C:\images\MobanCanny.jpg", edge_output)
#寻找轮廓
contours, heriachy = cv.findContours(edge_output, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)
for i, contour in enumerate(contours):
cv.drawContours(src, contours, i, (0, 255, 0), 1)#画轮廓 线宽2
print(i)
cv.imshow("detect contours", src)