python2 --version #查看python2安装版本
python3 --version #查看python3安装版本
方法:利用pip安装opencv-python
1. 先把ubuntu 中 python版本默认设置为:python3
echo alias python=python3 >> ~/.bashrc
source ~/.bashrc
分别执行两行命令,就可以了。
2.如果ubuntu中没有pip 的,先安装pip
sudo apt-get install python3-pip
pip show pip #查看pip软件管理工具版本
sudo python -m pip install --upgrade pip #升级pip工具
3.在pip中可以方便快速的安装opencv-python和opencv-contrib-python,只需要输入两条指令即可:
sudo pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple #安装opencv,要保证安装路径在/usr/local/lib/python3.5/dist-packages下
sudo pip3 install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple #安装opencv的contrib扩展包,要保证安装路径在/usr/local/lib/python3.5/dist-packages下
sudo pip3 install imutils -i https://pypi.tuna.tsinghua.edu.cn/simple #imutils是在OpenCV基础之上的一个封装,达到更为简洁调用OpenCV接口的目的
如果中途没报错,恭喜安装成功了。如果报错:
4.测试安装opencv方法Python接口是否成功:
python
import cv2
####################################################################################
python 有python2和python3的区别
那么pip也有pip和pip3的区别
大概是这样的
1、pip是python的包管理工具,pip和pip3版本不同,都位于Scripts\目录下:
2、如果系统中只安装了Python2,那么就只能使用pip。
3、如果系统中只安装了Python3,那么既可以使用pip也可以使用pip3,二者是等价的。
4、如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用。
5、重要:虚拟环境中,若只存在一个python版本,可以认为在用系统中pip和pip3命令都是相同的
sudo find / -iname "*opencv*" > /home/xust/Desktop/opencv_find.txt #查找opencv文件所有信息存入opencv_find.txt
whereis python
which python
#######################################################################################
pycharm安装:
1)进入https://www.jetbrains.com/pycharm/download/#section=linux,选择Professional专业版,直接点击DOWNLOAD,
2)进入跳转页面,出现提示框,点savefile,开始下载;
3)下载完成后,安装包在Downloads文件夹下
4)解压文件。右键安装包,点击“Extract Here”
5)先整理文件夹,把 pycharm-2018.1.4 文件夹放在Downloads根目录,方便找到;
6)打开终端,进入pycharm-2018.1.4/bin;
7)执行sh ./pycharm.sh命令文件,开始安装;
【Python】解决:Pycharm无法识别Python已安装的模块,如cv2(OpenCV)模块
Pycharm的菜单 File | Settings | Settings窗口 | Project:XXXX | Project Interpreter项 | 窗口右侧 齿轮按钮点击 | Show All... | 然后依据上图提示打开“Interpreter Paths”窗口
将已安装的Python路径下的 Lib/site-packages 这个路径添加到“Interpreter Paths”窗口项中,最后保存
买了一个免驱的USB摄像头Cubeternet USB2.0 Camera,连接虚拟机OK,一般默认/dev/video0
lsusb
结果
Bus 001 Device 002: ID 1e4e:0109 Cubeternet #可以查看USB摄像头的ID
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubcd /dev
dmesg | grep video
[21765.592771] Linux video capture interface: v2.00
[21765.679440] uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0109) #可知摄像头使用的是UVC协议
[21765.748343] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[21765.751278] uvcvideo 1-1:1.0: Entity type for entity Extension 4 was not initialized!
[21765.751280] uvcvideo 1-1:1.0: Entity type for entity Processing 3 was not initialized!
[21765.751281] uvcvideo 1-1:1.0: Entity type for entity Camera 1 was not initialized!
[21765.752410] usbcore: registered new interface driver uvcvideocd /dev
sudo cat /sys/kernel/debug/usb/devices #查看摄像头协议sudo apt-get install camorama
camoramasudo apt-get install cheese
sudo apt install webcam
cheese
若cheese打开摄像头video0黑屏的处理方法:
lsusb查看一下是否有找到摄像头。
ls /dev | grep video,查看是否有video0。
如以上两点都有,需要检查的部分是虚拟机设置>usb控制器>usb兼容性>(usb2.0/3.0)。如果当前选中的是2.0就选择3.0,如果当前选中的是3.0就选择2.0。然后确定。
在VMware的工具栏选择虚拟机>可移动设备>摄像头>断开连接。然后再虚拟机>可移动设备>摄像头>连接。然后重新打开cheese,发现已经有图像了。
python+opencv打开摄像头源码:
import cv2
capture = cv2.VideoCapture(0)
while True:
ret, frame = capture.read()
frame = cv2.flip(frame,1) #镜像操作 1表示左右镜像
frame = cv2.flip(frame,-1) #镜像操作 -1表示上下镜像
cv2.imshow("video", frame)
key = cv2.waitKey(50)
#print(key)
if key == ord('q'): #判断是哪一个键按下
break
cv2.destroyAllWindows()