我正在使用openCV 2.4.9。我在新窗口中使用OpenCV運行相機打開相機。我想通過按鍵更改相機饋送的顏色。例如,當我點擊'1'照相機進紙改變爲灰度,'2' - >黑白,'3' - > HSV,並且當我按'ESC'時返回(0)。這是我已經想出了到目前爲止:OpenCV實時改變攝像頭的顏色
#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);
}
我想在同一個窗口或一次又一次地改變顏色(如果它是不可能的),打開和關閉窗口的每一個濾色器。謝謝。對不起,英語不好
不要使用IplImage,而應該使用Mat。並使用C++語法。 – PSchn
我嘗試使用墊子。但我不知道如何爲我們改變顏色相同的窗口 –
看到我的答案在 – PSchn