2010-12-11 9 views
8

¿Cuál es una buena plataforma para un proyecto basado en web que procesa imágenes utilizando OpenCV library? Encontré Wt (http://www.webtoolkit.eu/wt).Proyecto web en C++ utilizando OpenCV con Wt

¿Puedo usar OpenCV con Wt? ¿Hay mejores alternativas a Wt?

Requisitos:

Una interfaz gráfica de usuario página de acceso a subir documentos, áreas seleccionadas de la imagen, la escritura palabra de detección/línea usando OpenCV

Respuesta

4

que he usado en peso en el pasado, es muy útil, aunque voluminoso. Su hinchazón tiene que ver con tener que admitir una amplia variedad de navegadores web, por lo que en algunos casos es una característica.

Si usted es más de un programador de cerca con metal, me gustaría recomendar PION, y la implementación de su interfaz gráfica de usuario utilizando algunas de sus habilidades de creación web:

http://www.pion.org/projects/pion-network-library

Puede utilizar OpenCV con casi cualquier biblioteca de red por ahí. Una buena revisión de sus opciones está disponible aquí en StackOverflow:

https://stackoverflow.com/questions/175507/c-c-web-server-library

1

Creo que lo que pide es posible con peso. No puedo prever problemas con la vinculación de OpenCV en Wt, y el sistema es definitivamente lo suficientemente interactivo como para proporcionar la funcionalidad que describes. Primero impleméntelo con acciones del lado del servidor y, si es necesario, puede optimizar partes con pequeños bits de JS del lado del cliente.

0

Fwiw, se trata de un simple código para mostrar la imagen OpenCV (posiblemente el cambio de la imagen mientras la aplicación se está ejecutando):

Wt::WMemoryResource* cvMat2res(const cv::Mat& img){ 
    std::vector<uchar> buf; 
    cv::imencode(".png",img,buf); // by default, the fastest compression 
    auto ret=new Wt::WMemoryResource(this); 
    ret->setMimeType("mime/png"); 
    ret->setData(buf); // data is copied here 
    return ret; 
} 

/* ... */ 
auto img=new Wt::Image(); 
root()->addWidget(img); 
Wt::WMemoryResource* imgRes=nullptr; 

/* set image data; this can be done also in event handler and the image updates itself automatically from the new resource */ 
if(imgRes) delete imgRes; 
imgRes=cvMat2res(cvImage); 
img->setImageLink(imgRes); 
Cuestiones relacionadas