ImgはRGBの入力画像です
import cv2
import numpy as np
img = cv2.imread("Lenna.png")
black = cv2.cvtColor(img , cv2.cv.CV_BGR2GRAY)
ここで、filter2Dを使用してsobel演算子を適用します。
sobel = np.array([[-1 , 0 , 1] , [-2 , 0 , 2] , [-1 , 0 , 1] ])
dest = cv2.filter2D(black , -1 , sobel)
ドキュメントによると、-1パラメータは、「uint8」またはcv2.cv.CV_8Uであると私が信じている画像の深さであり、np.max(dest)を実行すると、255が得られます。
ただし、深さをcv2.cv.CV_32Fと指定すると、つまり
dest = cv2.filter2D(black , cv2.cv.CV_32F , sobel)
np.max(dest)を実行すると、255より大きい別の値が得られます。誰かが理由を説明できますか?