python重写cv2.normalize
时间: 2024-01-21 16:03:12 浏览: 165
可以通过自定义函数来重写cv2.normalize函数。下面是一个简单的例子:
```python
import cv2
import numpy as np
def my_normalize(src, alpha=0, beta=255, norm_type=cv2.NORM_MINMAX):
if norm_type == cv2.NORM_MINMAX:
dst = cv2.normalize(src, None, alpha, beta, cv2.NORM_MINMAX)
elif norm_type == cv2.NORM_INF:
dst = cv2.normalize(src, None, alpha, beta, cv2.NORM_INF)
else:
raise NotImplementedError("Unsupported normalization type: {}".format(norm_type))
return dst
# 测试
img = np.random.randint(0, 256, (3, 3)).astype(np.uint8)
print("Original:\n", img)
print("cv2.normalize:\n", cv2.normalize(img, None, alpha=0, beta=255, norm_type=cv2.NORM_MINMAX))
print("my_normalize:\n", my_normalize(img, alpha=0, beta=255, norm_type=cv2.NORM_MINMAX))
```
这里我们定义了一个my_normalize函数,它接收src(输入数组)、alpha(输出范围的最小值)、beta(输出范围的最大值)、norm_type(归一化类型)四个参数。在函数内部,我们根据不同的归一化类型调用cv2.normalize函数进行处理,最后返回处理结果。我们可以通过调用my_normalize函数来代替cv2.normalize函数。
阅读全文