“”“读取摄像头"“”
cap = cv2.VideoCapture(0)
cap.set(3,640)
cap.set(4,480)
cap.set(10,150)
while True:
success, img = cap.read()
cv2.imshow("视频",img)
if cv2.waitKey(1) & 0xFF == ord('q'):#cv2.waitKey(1)在有按键按下的时候返回
# ##按键的ASCII值,否则返回-1,& 0xFF的按位与操作只取cv2.waitKey(1)返回值最后八位,,
# ## 因为有些系统cv2.waitKey(1)的返回值不止八位,ord(‘q’)表示q的ASCII值总体效果:按下q键后break
break
“”“在图画中显示线条"“”
# img = np.zeros((512,512,3),np.uint8)
# # img[200:300,300:200] = 255,0,0
# cv2.line(img,(0,0),(512,512),(0,0,255),3)
# cv2.circle(img,(256,256),50,(255,200,120),5)
# cv2.putText(img,"OPENCV",(256,256),cv2.FONT_HERSHEY_DUPLEX,2,(0,155,155),5)
# cv2.imshow("orignd",img)
# cv2.waitKey(0)
“”“opencv基本的图像处理”“”
# img = cv2.imread('Resources/lena.png')
# kernel = np.ones((5,5),np.uint8)
# imggary = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#二值图像
# imgblur = cv2.GaussianBlur(imggary,(7,7),0)#高斯模糊
# imgcanny = cv2.Canny(imgblur,100,200)#边缘检测
# imgdiliation = cv2.dilate(imgcanny,kernel,iterations=2)#边缘膨胀
# imgEroded = cv2.erode(imgdiliation,kernel,iterations=2)#边缘腐蚀
# cv2.imshow("1",img)
# cv2.imshow("2",imggary)
# cv2.imshow("3",imgblur)
# cv2.imshow("4",imgcanny)
# cv2.imshow("5",imgdiliation)
# cv2.imshow("6",imgEroded)
# cv2.waitKey(0)
“”“调整图像、裁剪图像”“”
# img = cv2.imread('Resources/lena.png')
# # print(img.shape)
# imgresize = cv2.resize(img,(300,400))#调整图像大小
# imgcropped = img[0:200,200:500]# 0:200是Y轴 200:500是X 轴。
# cv2.imshow("1",img)
# cv2.imshow("2",imgresize)
# cv2.imshow("3",imgcropped)
# cv2.waitKey(0)
“”“从图像中获取需要的图片”“”
# img = cv2.imread('Resources/cards.jpg')
# width = 250
# height = 350
# pst1 = np.float32([[178,258],[330,257],[172,462],[327,465]]) #图像需要裁剪的部分
# pst2 = np.float32([[0,0],[width,0],[0,height],[width,height]])# 裁剪之后放置的位置
# matrix = cv2.getPerspectiveTransform(pst1,pst2) #pst1 和 pst2 的计算
# last = cv2.warpPerspective(img,matrix,(width,height))
# cv2.imshow("0",img)
# cv2.imshow("1",last)
# cv2.waitKey(0)