偶尔看了一下招聘,好多企业对音视频有些许的要求,那就先入个门,整个opencv学习一下,刚买的树莓派的摄像头也到了,usb摄像头也到了,还有一个单片机的摄像头模块,都学一下,现在大环境不好,工人嘛,还是需要性价比高一些,才好找出路噻。
没说要离职啊,不要多想。
我是在虚拟机下学习的,安装的是ubuntu22.04的版本。
系统下载地址
sudo apt-get install openssh-server
安装这个不是主要为了用命令行软件,而是为了winscp拷贝东西方便一些。
sudo apt-get install cmake gcc g++ python3-dev python3-numpy libavcodec-dev libavformat-dev libswscale-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libgtk-3-dev
sudo apt-get install libpng-dev libjpeg-dev libopenexr-dev libtiff-dev libwebp-dev
git clone https://gitclone.com/github.com/opencv/opencv
cd opencv
mkdir build
cd bulid
cmake ../
大概需要2个小时,参考博客的博主用五个小时,看来我这个电脑还阔以啊
最后安装
sudo make install
然后回滚打印,查看一下cv2的安装位置
然后输出python3的环境看一下是否包含在内
python3 -c "import sys; print(sys.path)"
['', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/home/xxx/.local/lib/python3.10/site-packages', '/usr/local/lib/python3.10/dist-packages', '/usr/lib/python3/dist-packages']
/usr/local/lib/python3.10/dist-packages包含在内,正好,不需要再添加了。
pip主要是为了python安装模块使用
apt-get install python3-pip
python3 -m pip install -U matplotlib
Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
Matplotlib 可以用来绘制各种静态,动态,交互式的图表。
Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。
Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。
来一个测试程序,注意是在python3命令行中
import matplotlib
import numpy as np
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('/home/sunjin/work/123.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
plt.show()
首先要配置一下虚拟机中的USB配置,改为3.0。
然后USB设备与虚拟机相连,即断开与主机的连接。
#!/usr/bin/python3
#1.引入cv2
import cv2
#2.主函数
#if __name__ == '__main__':
#3.打开笔记本摄像头
cap = cv2.VideoCapture(0)
assert cap.isOpened(), 'Cannot capture source' #摄像头没有正常打开则报错
#4.摄像头能打开则获取图像帧,显示图像
while cap.isOpened():
#read()函数返回两个参数,第一个为参数为bool值,表示是否获取到图像,
#第二个参数为当前帧图像
ret, frame = cap.read()
# 将获取到的当前帧水品翻转
# 第二个参数: 1 表示水平翻转; 0 表示垂直翻转; 小于0 表示水平垂直翻转
frame = cv2.flip(frame,1)
cv2.imshow('mycreame',frame) #显示当前帧
if ( cv2.waitKey(30) == 27 ): #按下Esc键则退出 waitKey()方法表示等待键盘输入,单位为毫秒
break
#5.关闭所有窗口
cv2.destroyAllWindows()
部分截图,以免造成不适
万事俱备,只欠学习了
参考博客
B站章鱼萝卜猫《Ubuntu环境下编译安装OpenCV-Python》
今天海淀的疫情又提升了等级,全部企业员工居家办公,大家的生活压力又要变大了。总说不想上班,真要是不上班了,按照北京市最低标准的待遇,又该难受了。
所以,还是老话一句,学习,永远不会背叛你,我们领导说,如果公司让我明天不要来了,我随时都能找到下一个工作,真的假的不做评判,但是这份自信,还是我们都要学习一下的。自信源自什么?还得是能力,还等什么,学就完了。