Как бы я надежно кодировал и отправлял объект OpenCV Mat в Go, используя «encoding / gob»? - PullRequest
0 голосов
/ 09 сентября 2018

Это сильно отредактированный пост.

Я работаю над настройкой клиент / сервер, чтобы попрактиковаться в golang, где я использую gocv, чтобы получить изображение с моей веб-камеры и обработать его на удаленном сервере, снова используя gocv. Оба процесса написаны на Go. Каков наилучший способ передачи мата процессу сервера?

Я уже пытался использовать gob следующим образом:

func svr(){

    ln, _ := net.Listen("tcp", ":8090")
    conn, _ := ln.Accept()
    dec := gob.NewDecoder(conn)
    var p gocv.Mat

    dec.Decode(&p)

    gocv.IMWrite("copy.jpg", p)
    conn.Close()

}

func clnt(){

    time.Sleep(19999)

    conn, _ := net.Dial("tcp", "localhost:8090")
    encoder := gob.NewEncoder(conn)
    var chip gocv.Mat
    chip = gocv.IMRead("test.jpg", 0)
    encoder.Encode(chip)

}

func main(){

    go svr()

    clnt()
    time.Sleep(10000)
}

Программа не возвращает никаких ошибок, но и не создает файл. Я не уверен, что здесь не так. Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...