opencv用于处理计算机视觉方面的问题。我们在学习tensorflow这里,是必然要学习它的。
进入cmd页面。输入指令:
pip install opencv-python --user -i https://pypi.douban.com/simple/
再输入指令:
pip install opencv-contrib-python --user -i https://pypi.douban.com/simple/
如下:
这两步在正常情况下都不会出现问题,如果有问题的话,很有可能是当初安装python时,没有勾选pip install all 这个指令,如果版本比较老的话可以重新安装一次,记得勾选,或者可以直接下载新版本,新版本的python不会让你去选择,会自动安装所有需要的包。
下载好之后我们直接在cmd测试是否有效。
如下:
import cv2
print(cv2.__version__)
如图:
import cv2
import numpy as np
img = cv2.imread("G:\\opencv\\test.jpg")
cv2.namedWindow("Image")
cv2.imshow("Image",img)
cv2.waitKey (0)
cv2.destroyAllWindows()
print(img.shape)
emptyImage = np.zeros(img.shape, np.uint8)
#print(emptyImage)得到一个矩阵数组
emptyImage_2=img.copy()#copy方法复制图片,利用imwrite方法保存图片到指定路径
emptyImage3=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#所选图片本身就是很高的画质,因此质量设置反倒使图片不清楚。
print(cv2.IMWRITE_JPEG_QUALITY)
cv2.imwrite("G:\\opencv\\test_2.jpg",img,[int(cv2.IMWRITE_JPEG_QUALITY),85])
#imwirte的三个参数,
注意以上的
imread中的参数为任意一张图片的地址,因为接下来我们要打开它
这里注意
如果这段代码没什么问题的话,可以试着跑一下下面这段。
import numpy as np
import cv2
#这里直接创建了对象调用了摄像头 0位笔记本内置
cap=cv2.VideoCapture(0)
while True:
#从摄像头获取数据
sucess,img=cap.read()
#转为灰度
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#显示摄像头,背景是灰度。
cv2.imshow("img",gray)
#保持画面 waitKey函数,在等待期间接受键盘指令 这里的1表示等待时间为1秒,若有按键则返回按键的值,
#27位esc ord获取ascii
k=cv2.waitKey(1)
if k == 27:
#esc的ascii
cv2.destroyAllWindows()
break
elif k==ord("s"):
#这里的imwrite保存图片,注意路径为英文,
cv2.imwrite("G:\\opencv\\image2.jpg",img)
#destroyAllWindows不设参数则删除所有的窗口 设置则删除固定窗口
cv2.destroyAllWindows()
break
cap.release()
这段代码就可以实现一个简单的摄像机监视,你可以调整代码一直调动相机,拍摄固定间隔时间的画面,也可以放在一个超大的空间,拍下每一帧画面。