CV_Sobel
This commit is contained in:
@@ -12,7 +12,8 @@ import (
|
||||
// by performing phase correlation on detected
|
||||
// edges instead of the raw image
|
||||
|
||||
func FindEdges(img0 gocv.Mat) gocv.Mat {
|
||||
// SKIP: 多光谱各个波段的边缘检测结果不佳
|
||||
func CV_Canny(img0 gocv.Mat) gocv.Mat {
|
||||
fmt.Println(img0.Cols(), img0.Rows(), img0.Type().String())
|
||||
dst8 := gocv.NewMatWithSize(img0.Rows(), img0.Cols(), gocv.MatTypeCV8U)
|
||||
defer dst8.Close()
|
||||
@@ -23,3 +24,20 @@ func FindEdges(img0 gocv.Mat) gocv.Mat {
|
||||
dstEdge.ConvertTo(&dstEdge, gocv.MatTypeCV16U)
|
||||
return dstEdge
|
||||
}
|
||||
|
||||
func CV_Sobel(img0 gocv.Mat) gocv.Mat {
|
||||
// x 方向
|
||||
sobelX := gocv.NewMat()
|
||||
gocv.Sobel(img0, &sobelX, gocv.MatTypeCV32F, 1, 0, 5, 1.5, 0, gocv.BorderDefault)
|
||||
sobelX.ConvertTo(&sobelX, gocv.MatTypeCV16U)
|
||||
// y 方向
|
||||
sobelY := gocv.NewMat()
|
||||
gocv.Sobel(img0, &sobelY, gocv.MatTypeCV32F, 0, 1, 5, 1.5, 0, gocv.BorderIsolated)
|
||||
sobelY.ConvertTo(&sobelY, gocv.MatTypeCV16U)
|
||||
// 合并
|
||||
sobelXY := gocv.NewMat()
|
||||
gocv.Sobel(img0, &sobelXY, gocv.MatTypeCV32F, 1, 1, 5, 1.5, 0, gocv.BorderDefault)
|
||||
sobelXY.ConvertTo(&sobelXY, gocv.MatTypeCV16U)
|
||||
|
||||
return sobelY
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user