Ich versuche, das IPlimage -Objekt als Argumente mit dem Aufruf der Systembibliothek an ein anderes Programm zu übergeben. Der Code -Snippet ist wie unten gezeigt. < /P>
#include
#include
#include
#include "libuvc/libuvc.h"
#include
#include
#include
void cb(uvc_frame_t *frame, void *ptr) {
uvc_frame_t *bgr, *bgr2, *dup;
uvc_error_t ret, ret2;
IplImage* cvImg;
IplImage* cvImg2;
IplImage* im1,im2;
dup=frame;
// printf("callback! length = %d, ptr = %ld\n", frame->data_bytes, (int) ptr);
bgr = uvc_allocate_frame(frame->width * frame->height);
bgr2 = uvc_allocate_frame(frame->width * frame->height);
if (!bgr) {
printf("unable to allocate bgr frame!");
return;
}
if (!bgr2) {
printf("unable to allocate bgr2 frame!");
return;
}
ret = uvc_yuyv2y(frame,bgr);
if (ret) {
uvc_perror(ret, "uvc_yuyv2y");
uvc_free_frame(bgr);
return;
}
ret2 = uvc_yuyv2uv(dup,bgr2);
if (ret2) {
uvc_perror(ret, "uvc_yuyv2uv");
uvc_free_frame(bgr2);
return;
}
cvImg = cvCreateImageHeader(cvSize(bgr->width, bgr->height),IPL_DEPTH_8U,1);
cvSetData(cvImg, bgr->data, bgr->width);
cvImg2 = cvCreateImageHeader(cvSize(bgr2->width, bgr2->height),IPL_DEPTH_8U,1);
cvSetData(cvImg2, bgr2->data, bgr2->width);
cvEqualizeHist(cvImg,cvImg);
cvEqualizeHist(cvImg2,cvImg2);
// cvSaveImage("left.png",cvImg);
// cvSaveImage("right.png",cvImg2);
// cvShowImage("left", cvImg);
// cvShowImage("right", cvImg2);
// cvWaitKey(10);
int status=system("./../../exe cvImg cvImg2");
cvReleaseImageHeader(&cvImg);
cvReleaseImageHeader(&cvImg2);
uvc_free_frame(bgr);
uvc_free_frame(bgr2);
}
int main(int argc, char **argv) {
uvc_context_t *ctx;
uvc_error_t res;
uvc_device_t *dev;
uvc_device_handle_t *devh;
uvc_stream_ctrl_t ctrl;
res = uvc_init(&ctx, NULL);
if (res < 0) {
uvc_perror(res, "uvc_init");
return res;
}
puts("UVC initialized");
res = uvc_find_device(
ctx, &dev,
0, 0, NULL);
if (res < 0) {
uvc_perror(res, "uvc_find_device");
} else {
puts("Device found");
res = uvc_open(dev, &devh);
if (res < 0) {
uvc_perror(res, "uvc_open");
} else {
puts("Device opened");
uvc_print_diag(devh, stderr);
res = uvc_get_stream_ctrl_format_size(
devh, &ctrl, UVC_FRAME_FORMAT_YUYV, 640, 480, 30
);
uvc_print_stream_ctrl(&ctrl, stderr);
if (res < 0) {
uvc_perror(res, "get_mode");
} else {
res = uvc_start_streaming(devh, &ctrl, cb, (void *)12345, 0);
if (res < 0) {
uvc_perror(res, "start_streaming");
} else {
puts("Streaming for 10 seconds...");
uvc_error_t resAEMODE = uvc_set_ae_mode(devh, 1);
uvc_perror(resAEMODE, "set_ae_mode");
int i;
for (i = 1; i
Im Code Wenn wir die Zeile sehen, in der wir System < /code> aufrufen, versuchen wir, die IPlimage -Klassenobjekte als Argumente an ein anderes ausführbares Programm zu übergeben. Das andere Programmausschnitt ist unten angegeben. < /P>
#include "opencv2/core.hpp"
#include
#include
#include
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
Mat img1;
Mat img2;
Mat g1, g2,color;
Mat disp1, disp18,disp2,disp28,disparity,disparity1,falsemap;
Mat falseColorsMap, sfalseColorsMap;
//img1 = imread(argv[1],CV_8UC1);
//img2 = imread(argv[2],CV_8UC1);
img1 = cvarrToMat(argv[1]);
img2 = cvarrToMat(argv[2]);
imshow( "windowDisparity", disp18);
waitKey(1000);
return 0;
}
nun ist dies ein OpenCV-Fehler: Schlechtes Argument (unbekannter Array-Typ) in Cvarrtomat, Datei /home/pi/opencv-3.3.0/modules/core/src/matrix.cpp, Zeile 975
terminde namens After-Throw-After-Throw-After-Throw-After-Throw-After-Throw-After-Throw-After-Throw-After-Throw-After-Aftering-Aftering: /home/pi/opencv-3.3.0/modules/core/src/matrix.cpp:975: Fehler: (-5) Unbekannter Array-Typ in Funktion cvarrtomat .>
Ich versuche, das IPlimage -Objekt als Argumente mit dem Aufruf der Systembibliothek an ein anderes Programm zu übergeben. Der Code -Snippet ist wie unten gezeigt. < /P>
res = uvc_get_stream_ctrl_format_size( devh, &ctrl, UVC_FRAME_FORMAT_YUYV, 640, 480, 30 );
uvc_print_stream_ctrl(&ctrl, stderr);
if (res < 0) { uvc_perror(res, "get_mode"); } else { res = uvc_start_streaming(devh, &ctrl, cb, (void *)12345, 0);
if (res < 0) { uvc_perror(res, "start_streaming"); } else { puts("Streaming for 10 seconds..."); uvc_error_t resAEMODE = uvc_set_ae_mode(devh, 1); uvc_perror(resAEMODE, "set_ae_mode"); int i; for (i = 1; i
Im Code Wenn wir die Zeile sehen, in der wir System < /code> aufrufen, versuchen wir, die IPlimage -Klassenobjekte als Argumente an ein anderes ausführbares Programm zu übergeben. Das andere Programmausschnitt ist unten angegeben. < /P>
int main(int argc, char** argv) { Mat img1; Mat img2; Mat g1, g2,color; Mat disp1, disp18,disp2,disp28,disparity,disparity1,falsemap; Mat falseColorsMap, sfalseColorsMap; //img1 = imread(argv[1],CV_8UC1); //img2 = imread(argv[2],CV_8UC1); img1 = cvarrToMat(argv[1]); img2 = cvarrToMat(argv[2]); imshow( "windowDisparity", disp18); waitKey(1000); return 0; } [/code]
nun ist dies ein OpenCV-Fehler: Schlechtes Argument (unbekannter Array-Typ) in Cvarrtomat, Datei /home/pi/opencv-3.3.0/modules/core/src/matrix.cpp, Zeile 975 terminde namens After-Throw-After-Throw-After-Throw-After-Throw-After-Throw-After-Throw-After-Throw-After-Throw-After-Aftering-Aftering: /home/pi/opencv-3.3.0/modules/core/src/matrix.cpp:975: Fehler: (-5) Unbekannter Array-Typ in Funktion cvarrtomat .>
Immer wenn ich versuche, meinen Code auszuführen, sagt es mir, dass er sich anmeldet, und dann hat er einen Benutzeragenten gefunden, nach dem es mir einen Fehler bietet. Wann immer ich versuchte,...
Wenn ich versuche, das Protokollierungsverhalten in meinem BasehttprequestHandler -SubClass wie folgt zu überschreiben:
from http.server import BaseHTTPRequestHandler