Python安装opencv即遇到的问题(已解决)

opencv

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安装opencv即遇到的问题(已解决)_第1张图片
Python安装opencv即遇到的问题(已解决)_第2张图片
这两步在正常情况下都不会出现问题,如果有问题的话,很有可能是当初安装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中的参数为任意一张图片的地址,因为接下来我们要打开它
这里注意

  • 一:路径设置为纯英文,出现中文可能会报错。
  • 二:路径格式统一为:G:\opencv\test_2.jpg 这样,中间的双斜杠

如果这段代码没什么问题的话,可以试着跑一下下面这段。

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()

这段代码就可以实现一个简单的摄像机监视,你可以调整代码一直调动相机,拍摄固定间隔时间的画面,也可以放在一个超大的空间,拍下每一帧画面。

你可能感兴趣的:(opencv,python,计算机视觉,tensorflow)