PYTHON_opencv 历程总览 - updating

OpenCV 是一个在影像与图像处理上非常实用且方便的一个工具,其庞大程度已经可以算是一个平台,支援了各式各样的编程语言,当然 Python 也是包含其中的“之一”,这个包集成了许多当下流行的图像处理算法,成为了他们呼叫函数的其中一个部分,不用我们用户单独的去设置函数细节,是个非常暖心的包。

使用了这个模块做图像处理一段时间了,总是只有看到最后的结果与呼叫的函数对应功能,渐渐的这些处理过程被埋在了 opencv 处理的背后,为了彻底亲身经历一遍图像处理的过程,我 ps 了一张高 4 pixels,宽 3 pixels 的图片(如下面图片旁边的那一“点”),由于原图太小了,在其“点”的左边放大显示像素的样貌:

              

当使用了 cv2.imread('path', 1) 把图片读入 opencv 里面之后,代码与结果如下:

>>> import cv2
>>> path = '/home/abc/Desktop/opencv_example.png'
>>> img = cv2.imread(path, 1)
>>> img
array([[[ 40, 180, 200],
        [255, 255, 255],
        [250, 180, 100]],

       [[150,  50,  70],
        [200, 120,  80],
        [140,  40, 200]],

       [[140, 200, 200],
        [  0,   0,   0],
        [ 30, 200, 250]],
        
       [[ 90, 160, 220],
        [  0,  40, 200],
        [ 20, 220,  80]]], dtype=uint8)

>>> img.shape
(4, 3, 3)

>>> type(img)
<class 'numpy.ndarray'>

>>> img.size
36

>>> img.dtype
dtype('uint8')
缩小图片之后导入 opencv 里面的结果简直是一目了然了!原来在 array 里面的样子就是把图片翻了一个角度侧着看的,而从图里面对应到的颜色看来,也就可以知道 opencv 在排部图像颜色顺序上采用的是 BGR 的方法(跟 matplotlib 这个包在操控图片是偶的顺序 RGB 是不同的,需要被转换)

猜你喜欢

转载自blog.csdn.net/kuo_jun_lin/article/details/80428643