wucng / minitools

go tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

minitools

go tools

myimage

package main

import (
	myImg "day01/minitools/myimage"
	"fmt"
)

func main() {

	img := &myImg.Picture{"1.jpg", nil, nil}
	img.LoadImg()
	fmt.Println(img.GetSize())

	newImg := &myImg.Picture{"3.jpg", nil, nil}
	// img.Copy(newImg)
	// img.Crop(newImg, image.Rect(0, 0, 300, 244))
	// img.ToGray(newImg)
	// img.ColorReverse(newImg)
	// img.HorizontalFlip(newImg)
	// img.VerticalFlip(newImg)
	// img.Rotate(newImg, 45)

	// 普利维特算子(Prewitt operate)
	// img.Filter(newImg, [9]float32{-1, 0, 1, -1, 0, 1, -1, 0, 1})
	// img.Filter(newImg, [9]float32{1, 1, 1, 0, 0, 0, -1, -1, -1})

	// 索贝尔算子(Sobel operator)
	// img.Filter(newImg, [9]float32{-1, 0, 1, -2, 0, 2, -1, 0, 1})
	// img.Filter(newImg, [9]float32{1, 2, 1, 0, 0, 0, -1, -2, -1})

	// 拉普拉斯算子
	// img.Filter(newImg, [9]float32{0, -1, 0, -1, 4, -1, 0, -1, 0})
	// img.Filter(newImg, [9]float32{-1, -1, -1, -1, 8, -1, -1, -1, -1})
	// img.Filter(newImg, [9]float32{0, 1, 0, 1, -4, 1, 0, 1, 0})

	// 均值滤波
	// img.Filter(newImg, [9]float32{1.0 / 9.0, 1.0 / 9.0, 1.0 / 9.0, 1.0 / 9.0, 1.0 / 9.0, 1.0 / 9.0, 1.0 / 9.0, 1.0 / 9.0, 1.0 / 9.0})

	// 中值滤波
	// img.MedianFilter(newImg, 3)

	// 高斯滤波
	// img.Filter(newImg, [9]float32{1.0 / 16, 2.0 / 16, 1.0 / 16, 2.0 / 16, 4.0 / 16, 2.0 / 16, 1.0 / 16, 2.0 / 16, 1.0 / 16})

	// 改变亮度
	// img.Brightness(newImg, [3]float32{1.2, 1.2, 1.2})

	// img.SaltNoise(newImg, 0.9)
	// img.GaussianNoise(newImg, 1, 0.8)

	// img.GradientImage(newImg, "xy")

	// img.Resize(newImg, 300, 300, "bilinear")

	// fmt.Println(string(img.ImgToBase64()))

	bs64 := myImg.FileToBase64("1.jpg")
	bbb := myImg.Base642buffer(bs64)
	subImg := myImg.BufferToImg(bbb)
	newImg.Img = subImg

	newImg.Save("4.jpg")

}

logging

package main

import (
	logging "day01/minitools/logging"
	"fmt"
	"time"
)

func main() {
	logger, err := logging.NewLogger("debug", "log.txt")
	if err != nil {
		fmt.Println(err)
		return
	}
	for {
		logger.Debug("debug")
		logger.Debug("debug2")
		logger.Trace("TRACE")
		logger.Info("INFO")
		logger.Warning("WARNING")
		logger.Error("ERROR")
		logger.Fatal("FATAL")

		time.Sleep(time.Second * 1)
	}

}

About

go tools


Languages

Language:Go 100.0%