當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Array2.Dims方法代碼示例

本文整理匯總了Golang中github.com/jvlmdr/go-fftw/fftw.Array2.Dims方法的典型用法代碼示例。如果您正苦於以下問題:Golang Array2.Dims方法的具體用法?Golang Array2.Dims怎麽用?Golang Array2.Dims使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/jvlmdr/go-fftw/fftw.Array2的用法示例。


在下文中一共展示了Array2.Dims方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: zero

func zero(x *fftw.Array2) {
	m, n := x.Dims()
	for i := 0; i < m; i++ {
		for j := 0; j < n; j++ {
			x.Set(i, j, 0)
		}
	}
}
開發者ID:jvlmdr,項目名稱:go-cv,代碼行數:8,代碼來源:util.go

示例2: scale

// ai <- k ai
func scale(k complex128, c *fftw.Array2) {
	m, n := c.Dims()
	for i := 0; i < m; i++ {
		for j := 0; j < n; j++ {
			c.Set(i, j, k*c.At(i, j))
		}
	}
}
開發者ID:jvlmdr,項目名稱:go-cv,代碼行數:9,代碼來源:util.go

示例3: scaleMul

// ci <- k conj(ai) bi
func scaleMul(c *fftw.Array2, k complex128, a, b *fftw.Array2) {
	m, n := a.Dims()
	for i := 0; i < m; i++ {
		for j := 0; j < n; j++ {
			ax := cmplx.Conj(a.At(i, j))
			bx := b.At(i, j)
			c.Set(i, j, k*ax*bx)
		}
	}
}
開發者ID:jvlmdr,項目名稱:go-cv,代碼行數:11,代碼來源:util.go

示例4: addMul

// ci <- ci + conj(ai) bi
func addMul(c *fftw.Array2, a, b *fftw.Array2) {
	m, n := a.Dims()
	for i := 0; i < m; i++ {
		for j := 0; j < n; j++ {
			ax := cmplx.Conj(a.At(i, j))
			bx := b.At(i, j)
			cx := c.At(i, j)
			c.Set(i, j, cx+ax*bx)
		}
	}
}
開發者ID:jvlmdr,項目名稱:go-cv,代碼行數:12,代碼來源:util.go

示例5: copyChannelTo

// Assumes that f is no smaller than x.
// Pads with zeros.
func copyChannelTo(x *fftw.Array2, f *rimg64.Multi, p int) {
	w, h := x.Dims()
	for u := 0; u < w; u++ {
		for v := 0; v < h; v++ {
			if u < f.Width && v < f.Height {
				x.Set(u, v, complex(f.At(u, v, p), 0))
			} else {
				x.Set(u, v, 0)
			}
		}
	}
}
開發者ID:jvlmdr,項目名稱:go-cv,代碼行數:14,代碼來源:util.go

示例6: copyImageTo

func copyImageTo(x *fftw.Array2, f *rimg64.Image) {
	w, h := x.Dims()
	for u := 0; u < w; u++ {
		for v := 0; v < h; v++ {
			if u < f.Width && v < f.Height {
				x.Set(u, v, complex(f.At(u, v), 0))
			} else {
				x.Set(u, v, 0)
			}
		}
	}
}
開發者ID:jvlmdr,項目名稱:go-cv,代碼行數:12,代碼來源:util.go

示例7: copyChannelStrideTo

// dst[i, j] = src[i*stride + offset.X, j*stride + offset.Y],
// or zero if this is outside the boundary.
func copyChannelStrideTo(dst *fftw.Array2, src *rimg64.Multi, channel, stride int, offset image.Point) {
	m, n := dst.Dims()
	bnds := image.Rect(0, 0, src.Width, src.Height)
	for i := 0; i < m; i++ {
		for j := 0; j < n; j++ {
			p := image.Pt(i, j).Mul(stride).Add(offset)
			var val complex128
			if p.In(bnds) {
				val = complex(src.At(p.X, p.Y, channel), 0)
			}
			dst.Set(i, j, val)
		}
	}
}
開發者ID:jvlmdr,項目名稱:go-cv,代碼行數:16,代碼來源:util.go


注:本文中的github.com/jvlmdr/go-fftw/fftw.Array2.Dims方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。