opencv - 设置 Dilation Kernel Anchor
问题描述
我试图了解如何控制扩张的 OpenCV 中的内核锚。这是我的示例代码来解释我的想法:
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = np.zeros((7, 7))
img[3, 3] = 255
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (1, 2), anchor=(0, 0))
print(kernel)
img = cv2.dilate(img, kernel)
plt.imshow(img, cmap='gray')
plt.show()
这是相应的输出:
(0, 1)
当我将内核锚更改为
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (1, 2), anchor=(0, 1))
我希望膨胀会向上,但我得到的结果完全相同。有人对此有解释吗?
提前致谢!
解决方案
您需要在函数 cv2.getStructuringElement 中而不是在函数 cv2.dilate 中设置锚点。
img = cv2.dilate(img, kernel, anchor=(0, 1))
或者
img = cv2.dilate(img, kernel, anchor=(0, 0))
推荐阅读
- mysql - 我正在尝试对示例电影数据库进行查询,但无法查明错误
- linux - (Linux-Bash) 为每个用户创建一个帐户,并将用户从文本文件添加到其组
- javascript - 如何在雪花中转换数组对象
- javascript - 如何在使用我自己的日志功能时包含跟踪信息?
- android - 如何在 Android 11 上启动ActivityForResult?
- php - 在 CodeIgniter 4 中重定向后会话丢失
- android - 开关关闭时如何控制 FirebaseMessagingService?
- r - 关于将 sapply 索引传递给函数的问题
- css - 检测点击并在 CSS 上启动“功能”
- oracle - 我正在寻找一种在 Oracle SQL Developer 中搜索某个单词的方法