OpenCV常用基本处理函数(2)图像基本操作

可以根据像素的行和列的坐标获取他的像素值。对 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() 可以对图片进行混合操作

原文地址:https://www.cnblogs.com/ywheunji/p/10987014.html

时间: 2024-10-10 20:13:09

OpenCV常用基本处理函数(2)图像基本操作的相关文章

OpenCV常用基本处理函数(6)图像梯度

形态学转换 腐蚀 img = cv2.imread('j.png',0) kernel = np.ones((5,5),np.uint8) erosion = cv2.erode(img,kernel,iterations = 1) 膨胀 dilation = cv2.dilate(img,kernel,iterations = 1) 先进性腐蚀再进行膨胀就叫做开运算.就像我们上面介绍的那样,它被用来去除噪声.这里我们用到的函数是 cv2.morphologyEx(). opening = cv

OpenCV常用基本处理函数(7)图像金字塔和直方图

高斯金字塔 高斯金字塔的顶部是通过将底部图像中的连续的行和列去除得到的.顶部图像中的每个像素值等于下一层图像中 5 个像素的高斯加权平均值. 这样操作一次一个 MxN 的图像就变成了一个 M/2xN/2 的图像.所以这幅图像的面积就变为原来图像面积的四分之一. 可以得到一个分辨率不断下降的图像金字塔.我们可以使用函数cv2.pyrDown() 和 cv2.pyrUp() 构建图像金字塔. 图像的轮廓: 轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同.的颜色或者灰度: 在一个二值

OpenCV常用基本处理函数(5)图像模糊

2D卷积操作 cv.filter2D() 可以让我们对一幅图像进行卷积操作, 图像模糊(图像平滑)使用低通滤波器可以达到图像模糊的目的.这对与去除噪音很有帮助.其实就是去除图像中的高频成分(比如:噪音,边界).所以边界也会被模糊一点.(当然,也有一些模糊技术不会模糊掉边界).OpenCV 提供了四种模糊技术. 1.平均 只是用卷积框覆盖区域所有像素的平均值来代替中心元素 cv2.blur() 和 cv2.boxFilter() 来完这个任务 2.高斯模糊 把卷积核换成高斯核,方框不变,原来每个方

OpenCV常用基本处理函数(3)

颜色空间转换 对图像进行颜色空间转换,比如从 BGR 到灰度图,或者从BGR 到 HSV 等 我们要用到的函数是:cv2.cvtColor(input_image ,flag),其中 flag就是转换类型,常用的就几种转换的类型: 对于 BGR↔Gray 的转换,我们要使用的 flag 就是 cv2.COLOR_BGR2GRAY.同样对于 BGR↔HSV 的转换,我们用的 flag 就是 cv2.COLOR_BGR2HSV. 物体跟踪 通过某个颜色来跟踪一个物体, • 从视频中获取每一帧图像 •

[opencv]常用阵列操作函数总结

/*=========================================================================*/ // 阵列操作 /*=========================================================================*/ 基本矩阵和图像运算符 ———————————————————————————————————————————————————————————————————————————

opencv 常用数据结构和函数

点的表示 Point point; point.x = 10; point.y = 8; 或者 Point point = point(10, 8); 颜色的表示 Scalar(a, b, c) 红色分量为c,绿色分量为b,蓝色分量为a 尺寸的表示 Size(5, 5) 矩形的表示 Rect(x, y, width, height); 左上角的坐标和矩形的宽和高 颜色空间转换 CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst,

【opencv系列02】OpenCV4.X图像读取与显示

一.读取图片 opencv中采用imread() 函数读取图像 imread(filename, flags=None) ????filename 图片的路径 ????flags 图像读取方式 ● cv2.IMREAD_COLOR : 加载彩色图像, 图像的任何透明度都将被忽略(默认). ● cv2.IMREAD_GRAYSCALE : 以灰度模式加载图像. ● cv2.IMREAD_UNCHANGED : 加载包含Alpha通道的图像. 也可以使用1, 0 or -1代替,源码中,IMREAD

OpenCV常用图像操作和鼠标操作(双11版本)

更新日志: 1.添加了自适应窗口大小的功能: 2.添加了在图像上画矩形的功能: 3.添加了在大图上画矩形的功能: 4.部分函数名称更改: 5其他修改. 首先是头文件: /* ******* ccv.h ********** ********* opencv常用操作函数声明 ********** */ /* author: autumoon */ #ifndef _CCV_H_ #define _CCV_H_ #include <afxdlgs.h> //打开文件 #include "

OpenCV常用图像操作和鼠标操作

最近的工作经常需要对图像进行操作,也需要用鼠标对图像进行各种操作,于是自己整理和编写了这个类,总结了常用的基于OpenCV对图像进行的操作. 这个类我也将继续完善和丰富下去,需要的朋友可以直接使用. 如果有什么疏漏的地方还请多多指教. 首先是头文件: /* ******* ccv.h ********** ********* opencv常用操作函数声明 ********** */ /* author: autumoon */ #ifndef _CCV_H_ #define _CCV_H_ #i