python - openCV3:在opencv中对图像进行形态转换时未获得预期的输出

标签 python opencv python-3.6 opencv3.3

我正在尝试对图像进行大礼帽形态转换,但由于某种原因未获得预期的输出。

# Top Hat: difference between input image and opening
kernel = np.ones((5,5),np.float32)/25 
tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
plt.subplot(121),plt.imshow(img, cmap='gray'),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(tophat, cmap='gray'),plt.title('Top Hat')
plt.xticks([]), plt.yticks([])
plt.show()

期望什么

What is expected

我得到什么

What I am getting

编辑:添加了内核。

最佳答案

kernel = cv2.getStructuringElement(cv2.MORPH_RECT, ksize=(9,9))
tophat = cv2.morphologyEx(image, cv2.MORPH_TOPHAT, kernel)

result

编辑:

有关详细信息,请阅读以下内容:

https://docs.opencv.org/3.3.1/d9/d61/tutorial_py_morphological_ops.html

https://docs.opencv.org/3.3.1/d4/d86/group__imgproc__filter.html#gac342a1bb6eabf6f55c803b09268e36dc

Iterations vs. Kernel Size in Morphological Operations (OpenCV)

关于python - openCV3:在opencv中对图像进行形态转换时未获得预期的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47297146/

相关文章:

javascript - 使用 AJAX 上传文件、处理并使用 Flask 将结果返回到 Javascript

c++ - 如何计算二维对数色度?

python - 如何根据 python 中的 rgb 值合并图像中的像素?

macos - Cronjob Python3 Mac 未执行

python - 如何在 f-string 中使用换行符 '\n' 来格式化 Python 3.6 中的输出?

nested - Python 3 嵌套字符串格式

python - django.db.utils.IntegrityError : duplicate key value violates unique constraint "core_user_pkey" DETAIL: Key (id)=(23) already exists

python - 在 Visual Studio Code 中调试 Scrapy 项目

python - 在Windows上的Python 2.7中将标签应用于WAV文件

opencv - 自动对焦后如何关联检测到的关键点