| | |
| | | void *CreateConvertor(const int srcW, const int srcH, const int srcFormat, |
| | | const int dstW, const int dstH, const int flag){ |
| | | AVPixelFormat pix_fmt = AV_PIX_FMT_BGR24; |
| | | // just resize |
| | | if (flag == 0){ |
| | | pix_fmt = (AVPixelFormat)srcFormat; |
| | | } |
| | | auto bridge = new cvbridge( |
| | | srcW, srcH, srcFormat, |
| | | dstW, dstH, pix_fmt, flag); |
| | |
| | | } |
| | | } |
| | | |
| | | // NewResizer resize |
| | | func NewResizer(srcW, srcH, dstW, dstH int) *GoConv { |
| | | c := C.wrap_fn_create_conv(C.int(srcW), C.int(srcH), C.int(srcFormat), C.int(dstW), C.int(dstH), ScaleNone) |
| | | |
| | | if c == nil { |
| | | return nil |
| | | } |
| | | |
| | | return &GoConv{ |
| | | srcW, |
| | | srcH, |
| | | dstW, |
| | | dstH, |
| | | c, |
| | | } |
| | | } |
| | | |
| | | // Free free |
| | | func (c *GoConv) Free() { |
| | | if c.conv != nil { |
| | |
| | | return nil |
| | | } |
| | | |
| | | // Resize resize |
| | | func (c *GoConv) Resize(src []byte) []byte { |
| | | if c.srcW == c.dstW && c.srcH == c.dstH { |
| | | return src |
| | | } |
| | | return c.ConvToPicture(src) |
| | | } |
| | | |
| | | /////////////// for conv |
| | | |
| | | // ConvGPU conv gpu resize |