矩阵的掩膜操作

1、获取图像像素的指针
CV_Assert(myImage.depth() == CV_8U);
Mat.ptr(int I = 0) 获取像素矩阵的指针,索引i表示第几行,从0开始计行数;
获取当前行指针const uchar* current = myImage.ptr(row);
获取当前像素点P(row, col)的像素值p(row, col) = current[col]
2、像素范围处理saturate_cast
Saturate_cast(-100),返回0;
Saturate_cast(288),返回255;
Saturate_cast(100),返回100;
函数功能是确保RGB参数值的范围在0~255之间。
3、掩膜操作用来实现图形对比度的提高
在这里插入图片描述
4、函数调用filter2D功能
①定义掩膜:Mat kernel = (Mat_(3,3)<<0, -1, 0, -1, 5, -1, 0, -1, 0);
②filter2D(src, image, image.depth(), kernel); 其中src与image是Mat类型变量,src.depth表示位图深度, 有32,、24、8等。
5、getTickCount() 获取执行时间

演示代码

//获取行数和列数
	int<
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV中的掩膜操作是一种图像处理技术,用于将图像的某些区域设置为特定的值或通过其他方式对其进行操作掩膜通常是一个与原始图像具有相同大小的二进制图像或具有相同通道数的矩阵。 要进行掩膜操作,可以使用以下步骤: 1. 创建一个与原始图像大小相同的掩膜图像,其中包含要操作的区域。可以使用OpenCV提供的函数(例如cv2.threshold())或手动创建二进制图像。 2. 将掩膜应用于原始图像。可以使用OpenCV中的位运算函数(例如cv2.bitwise_and())将掩膜与原始图像进行逐位与操作,以保留掩膜中的像素。 以下是一个简单的示例代码,演示如何进行掩膜操作: ```python import cv2 import numpy as np # 读取原始图像 image = cv2.imread('image.jpg') # 创建掩膜图像 mask = np.zeros(image.shape[:2], dtype=np.uint8) cv2.circle(mask, (image.shape[1]//2, image.shape[0]//2), 100, (255), -1) # 应用掩膜 masked_image = cv2.bitwise_and(image, image, mask=mask) # 显示结果 cv2.imshow('Original Image', image) cv2.imshow('Masked Image', masked_image) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在上面的代码中,我们首先加载原始图像,然后创建一个与原始图像相同大小的掩膜图像。在这个例子中,我们使用`cv2.circle()`函数创建了一个圆形掩膜。 然后,我们使用`cv2.bitwise_and()`函数将掩膜应用于原始图像。最后,我们显示原始图像和应用掩膜后的图像。 请注意,掩膜可以用于各种不同的图像处理任务,例如图像分割、背景提取和特定区域的操作等。上述示例只是其中的一种用法,具体取决于您的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值