gpt4 book ai didi

c++ - 在 OpenCV 中是按位掩码和操作

转载 作者:太空狗 更新时间:2023-10-29 20:53:24 27 4
gpt4 key购买 nike

我从 python 中的 opencv 开始,我对如何应用掩码有疑问

bitwise_and(src1, src2, mask=mask)

以下哪些描述了实现:

  • A.所有按位,先掩码

    1. src1 与掩码相与
    2. src2 与掩码相与
    3. 将 src1 和 src2 的剩余部分用“与”运算
  • B.所有按位,图像优先

    1. src1 与 src2 相与
    2. 结果与掩码相与
  • C.条件与

    1. 掩码通过(例如循环)“迭代”
    2. 对于 mask 中的每个像素,如果它不为零,则将 src1,src2 中的相应像素进行 AND 运算并复制到输出

我认为每个的性能特征可能略有不同。

其中哪些(或其他方式)是实际实现? (以及为什么,如果我可以问的话)

我试图查看源代码,但无法完全弄清楚他们做了什么: https://github.com/opencv/opencv/blob/ca0b6fbb952899a1c7de91b909d3acd8e682cedf/modules/core/src/arithm.cpp

最佳答案

我已经使用彩色图像和二进制图像实现了 cv2.bitwise_and() 的两种实现方式。

<强>1。使用二值图像

假设我们有以下二进制图像:

屏幕 1:

enter image description here

屏幕 2:

enter image description here

按位执行时:

fin = cv2.bitwise_and(screen1, screen2)
cv2.imwrite("Final image.jpg", fin)

我们得到以下信息:

enter image description here

<强>2。对彩色图像进行 mask :

您也可以使用相同的函数屏蔽给定彩色图像的特定区域。

考虑下图:

enter image description here

并将屏幕 1(上面给出的)视为掩码

fin = cv2.bitwise_and(image, image, mask = screen1)
cv2.imwrite("Masked image.jpg", fin)

给你:

enter image description here

注意:在执行按位与操作时,图像必须具有相同的大小

关于c++ - 在 OpenCV 中是按位掩码和操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42920810/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com