Opencv-python 计算机视觉处理

安装:

opencv-python安装很简单。使用pip安装即可,注意,最好安装3.4.1.15版本一下,因为后续版本的有的算法申请的专利,用不了。并且安装opencv-contrib-python,这个库具有相关的算法。

pip install opencv-python == 3.4.1.15 opencv-contrib-python 3.4.1.15

 使用:

opencv使用非常简单。

import cv2 as cv

img = cv.imread("图片路径") 

 

imread(filename, flags=None)方法返回的是一个numpy数组。其中numpy数组中的row为图片的高度,col为图片的宽度。其中flags中有常用的读取彩色图、灰度图等等。彩色图像是-1,也是默认的读取方式,灰度图为0。

图片的数组表示:

首先,灰度图的numpy数组为二维数组。分为表示高和宽。

import cv2 as cv
import numpy as np

img = cv.imread('../image/lena.jpg',0)
print(img[:10,:10])
'''
[[160 159 159 162 165 160 156 158 154 158]
 [162 161 159 160 162 160 157 158 154 158]
 [161 162 160 159 160 159 156 156 154 157]
 [157 160 159 157 159 159 155 153 153 156]
 [154 157 157 155 157 158 155 153 154 156]
 [154 156 155 153 155 156 155 155 156 157]
 [156 157 155 153 155 155 154 156 156 157]
 [157 157 156 156 157 155 153 155 155 156]
 [157 155 153 154 156 157 156 155 154 153]
 [156 156 155 154 154 155 156 157 158 156]]
'''

其次,彩色图像的输出为三维数组,分别表示高和宽和bgr。

import cv2 as cv
import numpy as np

img = cv.imread('../image/lena.jpg',1)
print(img[:5,:5])

'''[[[126 134 223]
  [125 133 222]
  [124 133 223]
  [125 136 226]
  [128 139 229]]

 [[127 137 225]
  [126 135 225]
  [122 133 223]
  [123 134 224]
  [123 137 226]]

 [[124 135 225]
  [125 136 226]
  [121 135 224]
  [118 134 223]
  [119 134 226]]

 [[116 132 221]
  [119 134 226]
  [116 134 225]
  [114 132 223]
  [115 134 225]]

 [[110 129 220]
  [113 132 223]
  [113 132 223]
  [109 130 222]
  [109 132 224]]]
'''

其中以[110 129 220]为例,110表示B,129表示G,220表示R。

图片展示

        用imshow(winname, mat)展示即可,这是一个cv库自带的展示方法。这个方法可以展示你所需要的图片。其中winnanme是选择父容器,即选择展示窗口;mat是需要展示图片的numpy数组。

        但是,用了这个方法之后你会发现图片展示一秒就没了。这是因为你没有waitKey(delay=None)。其中delay是图片刷新时间。

import cv2 as cv

img = cv.imread('../image/lena.jpg',1)
cv.imshow('window',img) # window是展示窗口
cv.waitKey(0) # 不进行刷新

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