长治网站建设公司,金融网站织梦模板免费下载,河北网站开发价格,大连百事通国际旅行社opencv位运算说明
按位与#xff0c;按位或#xff0c;按位非#xff0c;按位异或
在 OpenCV 中#xff0c;按位操作函数的接口一般包括两个或多个图像数组#xff08;矩阵#xff09;作为输入#xff0c;常常还会有一个可选的掩码参数。下面我列出每个函数的具体接口…opencv位运算说明
按位与按位或按位非按位异或
在 OpenCV 中按位操作函数的接口一般包括两个或多个图像数组矩阵作为输入常常还会有一个可选的掩码参数。下面我列出每个函数的具体接口参数及其意义说明
1. cv2.bitwise_and按位与
功能两个图像的对应像素按位相与。只有当两个图像的像素值都为 1 时结果才为 1。常用于将图像与掩码结合提取感兴趣的区域。 cv2.bitwise_and(src1, src2[, dst[, mask]]) - dst
src1输入图像1。必须是与 src2 尺寸相同、类型一致的数组通常是单通道或三通道图像。src2输入图像2。与 src1 尺寸和类型一致的数组。dst可选输出图像尺寸和类型与 src1 和 src2 相同。如果省略函数会返回新的数组。mask可选操作掩码尺寸和类型为单通道 8 位图像。此掩码用于限定操作的区域掩码为 0 的位置不会被处理。
2. cv2.bitwise_or按位或
功能两个图像的对应像素按位相或。只要有一个像素值为 1结果就是 1。常用于合并两幅图像的区域。 cv2.bitwise_or(src1, src2[, dst[, mask]]) - dst
src1输入图像1必须与 src2 尺寸和类型一致。src2输入图像2尺寸和类型与 src1 一致。dst可选输出图像尺寸和类型与输入图像一致。如果省略函数会返回新的数组。mask可选掩码图像单通道 8 位图像。仅在掩码非零的地方执行操作。
3. cv2.bitwise_not按位非
功能对图像的每个像素取反将 1 变为 00 变为 1。常用于反转二值图像或图像的掩码。 cv2.bitwise_not(src[, dst[, mask]]) - dst
src输入图像可以是单通道或多通道图像。dst可选输出图像尺寸和类型与 src 一致。如果省略函数会返回新的数组。mask可选操作掩码单通道 8 位图像。此掩码用于限定操作的区域掩码为 0 的位置不会被处理。
4. cv2.bitwise_xor按位异或 功能两个图像的对应像素按位异或。只有当两个像素值不同时结果才为 1。常用于比较两个图像的差异。 cv2.bitwise_xor(src1, src2[, dst[, mask]]) - dst
src1输入图像1必须与 src2 尺寸和类型一致。src2输入图像2尺寸和类型与 src1 一致。dst可选输出图像尺寸和类型与输入图像一致。如果省略函数会返回新的数组。mask可选掩码图像单通道 8 位图像。仅在掩码非零的地方执行操作。
参数说明
src1/src2输入图像数组。可以是单通道灰度图像或三通道彩色图像类型通常为 8 位如 np.uint8尺寸必须相同。dst输出图像数组类型与输入图像相同。此参数是可选的如果没有提供函数会创建并返回新的数组。mask掩码图像。它是一个单通道的二值图像8 位图像用于指定操作区域。仅当掩码位置为非零时该位置的像素才会被处理。
注可选参数在使用时必须显示赋值除非所有可选参数都按顺序进行赋值
这些参数允许在处理图像时具有更高的灵活性特别是掩码 mask 参数可以控制操作只发生在图像的特定区域。
图像与自身位运算
按位与按位或按位非按位异或
1. 按位与操作bitwise_and
操作result cv2.bitwise_and(image, image)结果图像与自身按位与的结果是 原图像本身。原因按位与的规则是只有两个像素值都为 1 时结果才为 1。图像与自身比较时每个像素值与自身做比较结果就是原像素值不变。即 pixel pixel pixel。
2. 按位或操作bitwise_or
操作result cv2.bitwise_or(image, image)结果图像与自身按位或的结果也是 原图像本身。原因按位或的规则是只要有一个像素值为 1结果就为 1。由于图像每个像素值与自身做比较因此结果仍然是原像素值不变。即 pixel | pixel pixel。
3. 按位非操作bitwise_not 操作result cv2.bitwise_not(image) 结果图像按位非操作的结果是 反转图像。 原因按位非会将图像中每个像素的位值取反。对于 8 位图像像素值范围是 0-255按位非会将每个像素的值变为 255 - pixel_value。例如像素值为 0 的位置变为 255像素值为 255 的位置变为 0。因此按位非操作会将图像的颜色反转。 示例如果原图像是黑色0的地方结果图像变成白色255白色255的地方变成黑色0。
4. 按位异或操作bitwise_xor
操作result cv2.bitwise_xor(image, image)结果图像与自身按位异或的结果是 全黑图像所有像素值为 0。原因按位异或的规则是当两个像素值不同结果为 1当两个像素值相同时结果为 0。由于图像的每个像素值都与自身完全相同因此每个像素都会产生 0结果是全黑图像。即 pixel ^ pixel 0。
结果总结
cv2.bitwise_and(image, image)结果是 原图像本身。cv2.bitwise_or(image, image)结果是 原图像本身。cv2.bitwise_not(image)结果是 反转后的图像。cv2.bitwise_xor(image, image)结果是 全黑图像。