Ich benutze openCV 2.4.9. Ich öffne die Kamera mit OpenCV in einem neuen Fenster. Ich möchte die Farben des Kamera-Feeds mit einem Tastendruck ändern. Zum Beispiel, wenn ich auf '1' Kamera-Feeds wechsle auf Graustufen, '2' -> schwarz und weiß, '3' -> HSV, und wenn ich 'ESC' drücke, zurück (0). Das, was ich kam so weit nach oben:OpenCV Farben ändern in Echtzeit Kamera-Feed
#include <iostream>
#include <conio.h>
using namespace std;
#include<opencv\cv.h>
#include<opencv\highgui.h>
#include "opencv2\core\core.hpp"
#include "opencv2\imgproc\imgproc.hpp"
void main(){
CvCapture *capture = cvCaptureFromCAM(CV_CAP_ANY);
IplImage *frame = 0, *image = 0;
int key = 0, last = 0;
cvNamedWindow("WebCamera", CV_WINDOW_AUTOSIZE);
while(key != 27) {
frame = cvQueryFrame(capture);
image = cvCloneImage(frame);
// i try to use swich and case for this but i can't get it work
// when using cvtColor need to use Mat image but when use cvShowImage need IplImage
// switch(last)
// {
// case '1':
// cvtColor(image,HSVimage,CV_BGR2HSV);
// case '2':
// cvtColor(image,HSVimage,CV_BGR2GRAY);
// case '3':
// .
// .
// default: break;
// }
cvShowImage("WebCamera", image);
cvReleaseImage(&image);
key = cvWaitKey(1);
if (key != -1) last = key;
}
cvDestroyWindow("WebCamera");
cvReleaseCapture(&capture);
exit(0);
}
ich Farben ändern will immer wieder in demselben Fenster oder öffnen und schließen Fenster für jeden Farbfilter (wenn es nicht möglich ist). Danke. Sorry für schlecht Englisch
Verwenden Sie nicht IplImage und nehmen Sie stattdessen Mat. Und benutze die C++ - Syntax. – PSchn
Ich versuche, Mat zu verwenden. aber ich weiß nicht, wie wir dasselbe Fenster für Farben ändern –
siehe meine Antwort unter – PSchn