仅对图像的一部分施加侵蚀

时间:2018-02-23 09:48:37

标签: python opencv

我是opencv的新手,我无法找到解决此问题的任何解决方案。

我想知道是否可以将侵蚀/扩张仅应用于图像的特定部分,并让图像的其余部分保持原样。

1 个答案:

答案 0 :(得分:2)

只需获取要应用侵蚀/扩张区域的子矩阵并就地应用该操作:

import cv2
import numpy as np
import matplotlib.pyplot as plt

im = cv2.imread('image_to_process.jpg')

roi = im[:100, :100, :]
# define your_kernel as needed
roi[:] = cv2.dilate(roi, your_kernel) # the [:] is important

请注意,我使用roi[:]dilate的结果覆盖roi的内容,而不是分配新的矩阵,以便更改实际反映在im上太