gpt4 book ai didi

python - OpenCV 打开/关闭移动像素的位置

转载 作者:太空宇宙 更新时间:2023-11-03 11:01:58 24 4
gpt4 key购买 nike

我目前正在使用 OpenCV 2.4 对二值图像进行形态学转换

我刚刚注意到使用 OpenCV 的内置函数,我所有像素的位置都向右和向下移动了一个(即以前位于 (i,j) 的像素现在位于 (i+1, j +1))

import cv2
import numpy as np
from skimage.morphology import opening

image = cv2.imread('input.png', 0)
kernel = np.ones((16,16), np.uint8)

opening_opencv = cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel)

opening_skimage = opening(image, kernel)

cv2.imwrite('opening_opencv.png', opening_opencv)
cv2.imwrite('opening_skimage.png', opening_skimage)

输入:

input

输出:

opening_opencv

由于我不明白为什么,我只是使用 skimage 绑定(bind)了相同的操作,并且在形态转换过程中并没有产生这种“差距”。

输出:

opening_skimage

关于这个问题有什么想法吗?

谢谢!

最佳答案

这是你评论的方式,但恰恰相反:)

均匀大小的结构元素会导致移位,没有中间像素。对于奇数尺寸,您会得到一个中间像素和每个尺寸的 (n-1)/2 个像素。

换句话说,奇数大小的 SE 是对称的,偶数大小的是不对称的。

关于python - OpenCV 打开/关闭移动像素的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30726179/

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