anaconda安装
我们学习opencv之前,需要了解一下python,我们可以通过Anaconda来进一步学习
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive这里放一个下载链接
下载 Anaconda3-5.1.0-Windows-x86_64.exe 对应python版本 python3.6.3
anaconda,这相当于一个全家桶,里面配置好了很多东西,非常方便。
这里也推荐一个b站教学视频,BV1PV411774。
这里顺便写一下安装步骤,这里记得勾选第二个选项

添加一下系统变量,在启动菜单里面搜下


添加完后确定保存,然后再改一下系统源,打开anaconda prompt命令行输入,换了源后面下载会变快的
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
这里可以输入cd +anaconda目录地址看一下内部结构(dir命令)
输入pyhton也可以查看当前版本
cd Scripts
这个命令可以进入anaconda插件工具库,里面是我们经常使用的一些东西
我们来安装一下opencv需要的一些库,这里用3.4.1.5的版本,后面版本会有点问题,这里不要自己在等号周围加空格,会报错!
pip install opencv-python==3.4.1.15

黄色的可以先不用管,升级了之后很麻烦,之后输入返回上一级目录,不要无脑手动复制哈
(base) C:\Anaconda3>python
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.4.1'
如果这样,说明安装OpenCV成功了。
接下来继续装一下扩展包,同上
pip install opencv-contrib-python==3.4.1.15
这下opencv全部安装好了。
anaconda软件内置了很多关于python的学习软件,像Jupyter Notebook,在数据挖掘竞赛中常常用到。
点击打开jupyter后出现黑窗如下,这里啰嗦一句题外话,开始装电脑时,千万不要将电脑用户名设置中文,后面用一些软件会十分麻烦。。。。

这里打码部分是密码,有时候要网站输入密码,下面就是jupyter进入主页面了,可以新建python试一试

这里分享一下视频学习课件
https://pan.baidu.com/s/1OuPl4yNUbwfV_zKpiTiqXw 密码evby
关于上传压缩包解压这件事,可能会出现解压中文乱码的情况,可以自行手动复制文件到目录下
关于ide 视屏中用的是eclipse,教程就展示eclipse的教程了
https://www.eclipse.org 这是安装的官网链接,在右上角download后选择更多包安装。找到这个 Windows版本进行下载

如何切换anaconda python环境?
打开anaconda命令窗口后 使用一般指令
conda config --remove-key channels //移除掉配置镜像源 使用原有的 如果遇到了下载超时问题可以使用
conda config --set ssl_verify no //关闭证书 如果遇到000代码超时问题可解决 (亲测有效)
netsh advfirewall set allprofiles state off //关闭防火墙 如不行可尝试
ping baidu.com //可检查是否为网络问题

conda activate py39 //启用环境
conda deactivate //禁用环境
出现此提示说明环境配置好了
删除某个环境时,一定不能在该环境下删除,一般都是base环境(anaconda默认的环境)下删除我们创建过的环境
conda remove -n py39 --all //但这样删除环境不是很彻底,还会有文件无法删除,导致这个文件夹还在,所以我们到安装anaconda的文件夹下找到envs文件夹,然后删除py39这个文件夹。
图像基本操作
RGB色彩:RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。
数据读取-图像
import cv2 #opencv读取的格式是BGR
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline #只在jupyter中好用一些
img=cv2.imread('cat.jpg')
#图像的显示,也可以创建多个窗口
cv2.imshow('image',img)
# 等待时间,毫秒级,0表示任意键终止
cv2.waitKey(0)
cv2.destroyAllWindows()
############
#创建一个函数
def cv_show(name,img):
cv2.imshow(name,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img.shape #可以获得值(h,w,c)
#############
#获取灰度图
img=cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)
#############
#图像的显示,也可以创建多个窗口
cv2.imshow('image',img)
cv2.waitKey(10000)
cv2.destroyAllWindows()
#############
#保存
cv2.imwrite('mycat.png',img)
type(img)
img.size
img.dtype
数据处理-视频
#cv2.VideoCapture可以捕获摄像头,用数字来控制不同的设备,例如0,1。
vc = cv2.VideoCapture('test.mp4')
while open:
ret, frame = vc.read()
if frame is None:
break
if ret == True:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('result', gray)
if cv2.waitKey(100) & 0xFF == 27:#在ascii表中27表示esc
break
vc.release()
cv2.destroyAllWindows()
# 检查是否打开正确
if vc.isOpened():
oepn, frame = vc.read()
else:
open = False
截取部分图像数据
img=cv2.imread('cat.jpg')
cat=img[0:50,0:200]
cv_show('cat',cat)
颜色通道提取
b,g,r=cv2.split(img)#分开读取bgr
img=cv2.merge((b,g,r))#组合bgr
img.shape
# 只保留R
cur_img = img.copy()
cur_img[:,:,0] = 0
cur_img[:,:,1] = 0
cv_show('R',cur_img)
# 只保留G
cur_img = img.copy()
cur_img[:,:,0] = 0
cur_img[:,:,2] = 0
cv_show('G',cur_img)
# 只保留B
cur_img = img.copy()
cur_img[:,:,1] = 0
cur_img[:,:,2] = 0
cv_show('B',cur_img)
