package common
import (
"bytes"
"errors"
"os/exec"
"strings"
)
var (
ErrFile = errors.New("image is not QrCode")
)
//二维码识别
func ZBarImgDecode(imageFile string) (decodeData string, err error) {
var out bytes.Buffer
cmd := exec.Command("zbarimg", imageFile)
cmd.Stdout = &out
err = cmd.Run()
if err != nil {
return "", err
}
decodeData = strings.TrimSuffix(strings.TrimPrefix(out.String(), "QR-Code:"), "\n")
if len(decodeData) == 0 {
err = ErrFile
return
}
return
}
ubuntu安装zbar:sudo apt install zbar-tools
Red Had 安装zbar:yum install zbar