配置好环境以后就是IDE的选择了,这里博主所用的是Anaconda所提供的Jupiter。Jupiter的一大特点是其所适配的语言较广,C,C++,Java,Python都可以适配。而且具有debug功能(debug功能是Opencv编写的基本要求。)
点击菜单栏的Jupyter Notebook弹出相应窗口后,会有jupyter相应网页弹出。
点击new即可开始代码块的输入
进入代码块后,即可以开始编写相关的代码
首先给大家copy一下上述配置所需的网页
####环境配置地址
- Anaconda:https://www.anaconda.com/download/ - Python_whl:https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv - eclipse:按照自己喜好,能debug即可
图片处理前大家应该了解,图像有像素点构成,像素构成矩阵,彩色图有三个颜色通道灰度图只有一个通道。
在进行图像操作的时候,首先要在文头做一下相应的注释:
#################################################
import cv2 #opencv读取的格式是BGR
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline #本行为魔法指令,用来简化函数的声明过程
##################################################
接下来是读入图片的代码以及图片的通道信息以及图片的尺寸大小
3表示有三个通道,是彩色图。
接下来在下一个代码块中键入img,Enter+shift按键即可输出图像所对应的像素矩阵
array([[[ 72, 80, 203], [ 72, 80, 203], [ 73, 81, 204], ..., [195, 207, 207], [195, 207, 207], [195, 207, 207]], [[ 74, 82, 205], [ 74, 82, 205], [ 74, 82, 205], ..., [195, 207, 207], [195, 207, 207], [195, 207, 207]], [[ 75, 83, 206], [ 75, 83, 206], [ 75, 83, 206], ..., [195, 207, 207], [195, 207, 207], [195, 207, 207]], ..., [[ 34, 40, 63], [ 35, 41, 64], [ 36, 43, 63], ..., [158, 182, 210], [158, 182, 210], [158, 182, 210]], [[ 33, 39, 62], [ 34, 40, 63], [ 35, 42, 62], ..., [158, 182, 210], [158, 182, 210], [158, 182, 210]], [[ 35, 41, 64], [ 36, 42, 65], [ 37, 44, 64], ..., [158, 182, 210], [158, 182, 210], [158, 182, 210]]], dtype=uint8)
之所以用unit8是因为像素分布从0-255,故共有2^8个值。连续的三个" [ "表示一共有三个通道。
###########################################################
之后是如何输出图片
cv2.imshow('Little-kiss',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
此处的img已经在之前代码中声明过
waitKey(0)是按下任键关闭,如果是waitKey(n)则是图片打开n毫秒后自动关闭。
############################################################
以上便是本章的内容,下一张向大家介绍彩色图像与视频向灰度图像及视频的转化