内存使用优化

This commit is contained in:
nuknal
2024-09-23 17:04:31 +08:00
parent d3cf743b71
commit 97a375996a
5 changed files with 32 additions and 5 deletions

View File

@@ -32,7 +32,9 @@ func HFNoiseFilter(img gocv.Mat, radius float64) gocv.Mat {
// 执行 DFT
DFT := gocv.NewMat()
defer DFT.Close()
gocv.Merge([]gocv.Mat{img32f, gocv.Zeros(rows, cols, gocv.MatTypeCV32F)}, &DFT)
zero := gocv.Zeros(rows, cols, gocv.MatTypeCV32F)
defer zero.Close()
gocv.Merge([]gocv.Mat{img32f, zero}, &DFT)
gocv.DFT(DFT, &DFT, gocv.DftComplexOutput)
// 中心化频谱
@@ -126,6 +128,8 @@ func fftshift(input *gocv.Mat) {
q3 := input.Region(image.Rect(cx, cy, input.Cols(), input.Rows())) // Bottom-Right
tmp := gocv.NewMatWithSize(q0.Rows(), q0.Cols(), input.Type())
defer tmp.Close()
q0.CopyTo(&tmp)
q3.CopyTo(&q0)
tmp.CopyTo(&q3)
@@ -133,6 +137,11 @@ func fftshift(input *gocv.Mat) {
q1.CopyTo(&tmp)
q2.CopyTo(&q1)
tmp.CopyTo(&q2)
q0.Close()
q1.Close()
q2.Close()
q3.Close()
}
func visualizeDFT(DFT gocv.Mat, file string) {