OpenCV常用基本处理函数图像基本操作
Posted ywheunji
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV常用基本处理函数图像基本操作相关的知识,希望对你有一定的参考价值。
可以根据像素的行和列的坐标获取他的像素值。对 BGR 图像而言,返回值为 B,G,R
例如获取蓝色的像素值:
img=cv2.imread(‘messi5.jpg‘)
px=img[100,100]
blue=img[100,100,0]
获取图像属性
图像的属性包括:行,列,通道,图像数据类型,像素数目等img.shape 可以获取图像的形状。他的返回值是一个包含行数,列数,通道数的元组。
1 import cv2 2 import numpy as np 3 img=cv2.imread(‘messi5.jpg‘) 4 print(img.shape) 5 ##(342, 548, 3)
图像的roi感兴趣区域
下面的代码是首先把球在图中的区域作为感兴趣的区域从图片中分离出来,然后再复制图片的另一区域,效果如图所示;
1 import cv2 2 import numpy as np 3 img=cv2.imread(‘messi5.jpg‘) 4 ball=img[280:340,330:390] 5 img[273:333,100:160]=ball 6 img=cv2.imshow(‘test‘, img) 7 cv2.waitKey(0)
拆分图像的三个通道
通过对图片的属性的第三个值来分离;
import cv2 import numpy as np img=cv2.imread(‘/home/duan/workspace/opencv/images/roi.jpg‘) b=img[:,:,0]
图像的扩充填边
cv2.copyMakeBorder()函数。这经常在卷积运算或 0 填充时被用到,参数等使用的时候再理解
图像加法
你可以使用函数 cv2.add() 将两幅图像进行加法运算,建议使用opencv的加法操作;
图像混合
这其实也是加法,但是不同的是两幅图像的权重不同
函数 cv2.addWeighted() 可以对图片进行混合操作
以上是关于OpenCV常用基本处理函数图像基本操作的主要内容,如果未能解决你的问题,请参考以下文章
opencv学习笔记详解基本图像容器Mat以及常用数据结构和函数