Table of Contents

Class Image

Espacio de nombres
easyar

Image almacena datos de imagen, utilizados para representar imágenes en memoria. Image proporciona acceso a los datos originales en forma de matriz de bytes, y también proporciona una interfaz para acceder a información como width/height. En todas las versiones de EasyAR Sense, puedes acceder a los datos de imagen. En iOS, puedes acceder de esta manera:

#include <easyar/buffer.oc.h>
#include <easyar/image.oc.h>

easyar_OutputFrame * outputFrame = [outputFrameBuffer peek];
if (outputFrame != nil) {
    easyar_Image * i = [[outputFrame inputFrame] image];
    easyar_Buffer * b = [i buffer];
    char * bytes = calloc([b size], 1);
    memcpy(bytes, [b data], [b size]);
    // use bytes here
    free(bytes);
}

En Android,

import cn.easyar.*;

OutputFrame outputFrame = outputFrameBuffer.peek();
if (outputFrame != null) {
    InputFrame inputFrame = outputFrame.inputFrame();
    Image i = inputFrame.image();
    Buffer b = i.buffer();
    byte[] bytes = new byte[b.size()];
    b.copyToByteArray(0, bytes, 0, bytes.length);
    // use bytes here
    b.dispose();
    i.dispose();
    inputFrame.dispose();
    outputFrame.dispose();
}
Image

Constructores

Image

void easyar_Image__ctor(easyar_Buffer * buffer, easyar_PixelFormat format, int width, int height, easyar_Image * * Return)
Image(std::shared_ptr<Buffer> buffer, PixelFormat format, int width, int height)
public Image(@Nonnull Buffer buffer, int format, int width, int height)
constructor(buffer: Buffer, format: Int, width: Int, height: Int)
+ (easyar_Image *) create:(easyar_Buffer *)buffer format:(easyar_PixelFormat)format width:(int)width height:(int)height
public convenience init(_ buffer: Buffer, _ format: PixelFormat, _ width: Int32, _ height: Int32)
public Image(Buffer buffer, PixelFormat format, int width, int height)

Parámetros

Nombre Tipo Descripción
buffer Buffer
format PixelFormat
width Int32
height Int32

Métodos

buffer

Devuelve el búfer de datos en la imagen. Puedes usar la API de Buffer para acceder a los datos internos. No debes modificar el contenido de los datos obtenidos Buffer, porque este contenido puede estar siendo utilizado en otros hilos.

void easyar_Image_buffer(const easyar_Image * This, easyar_Buffer * * Return)
std::shared_ptr<Buffer> buffer()
public @Nonnull Buffer buffer()
fun buffer(): Buffer
- (easyar_Buffer *)buffer
public func buffer() -> Buffer
public virtual Buffer buffer()

Devuelve

Tipo Descripción
Buffer

format

Devuelve el formato de la imagen.

easyar_PixelFormat easyar_Image_format(const easyar_Image * This)
PixelFormat format()
public int format()
fun format(): Int
- (easyar_PixelFormat)format
public func format() -> PixelFormat
public virtual PixelFormat format()

Devuelve

Tipo Descripción
PixelFormat

width

Devuelve el ancho de la imagen. A la derecha de los datos de la imagen habrá un padding de pixelWidth - width píxeles.

int easyar_Image_width(const easyar_Image * This)
int width()
public int width()
fun width(): Int
- (int)width
public func width() -> Int32
public virtual int width()

Devuelve

Tipo Descripción
Int32

height

Devuelve la altura de la imagen. Debajo de los datos de la imagen habrá un padding de pixelHeight - height píxeles.

int easyar_Image_height(const easyar_Image * This)
int height()
public int height()
fun height(): Int
- (int)height
public func height() -> Int32
public virtual int height()

Devuelve

Tipo Descripción
Int32

pixelWidth

Devuelve el ancho de píxel utilizado al codificar la imagen.

int easyar_Image_pixelWidth(const easyar_Image * This)
int pixelWidth()
public int pixelWidth()
fun pixelWidth(): Int
- (int)pixelWidth
public func pixelWidth() -> Int32
public virtual int pixelWidth()

Devuelve

Tipo Descripción
Int32

pixelHeight

Devuelve la altura de píxel utilizada al codificar la imagen.

int easyar_Image_pixelHeight(const easyar_Image * This)
int pixelHeight()
public int pixelHeight()
fun pixelHeight(): Int
- (int)pixelHeight
public func pixelHeight() -> Int32
public virtual int pixelHeight()

Devuelve

Tipo Descripción
Int32

create

void easyar_Image_create(easyar_Buffer * buffer, easyar_PixelFormat format, int width, int height, int pixelWidth, int pixelHeight, easyar_Image * * Return)
static std::shared_ptr<Image> create(std::shared_ptr<Buffer> buffer, PixelFormat format, int width, int height, int pixelWidth, int pixelHeight)
public static @Nonnull Image create(@Nonnull Buffer buffer, int format, int width, int height, int pixelWidth, int pixelHeight)
companion object fun create(buffer: Buffer, format: Int, width: Int, height: Int, pixelWidth: Int, pixelHeight: Int): Image
+ (easyar_Image *)create:(easyar_Buffer *)buffer format:(easyar_PixelFormat)format width:(int)width height:(int)height pixelWidth:(int)pixelWidth pixelHeight:(int)pixelHeight
public static func create(_ buffer: Buffer, _ format: PixelFormat, _ width: Int32, _ height: Int32, _ pixelWidth: Int32, _ pixelHeight: Int32) -> Image
public static Image create(Buffer buffer, PixelFormat format, int width, int height, int pixelWidth, int pixelHeight)

Parámetros

Nombre Tipo Descripción
buffer Buffer
format PixelFormat
width Int32
height Int32
pixelWidth Int32
pixelHeight Int32

Devuelve

Tipo Descripción
Image