Я купил IP-камеру, на которой, похоже, нет марки, но она отлично работает, когда я проверяю ее через браузер.Я хочу использовать его, чтобы получить от него некоторые кадры.На коробке сказано, что она позволяет мне получать данные в виде потока mjpeg, но на самом деле я не могу этого сделать.Я делал это раньше с другой IP-камерой, и все работало нормально - до сих пор.
Это мой код - если он поможет вам решить или показать мне путь.
#include <OpenCV/cv.h>
#include <OpenCV/highgui.h>
CvCapture *kamera = NULL;
CvMemStorage *pamiec = NULL;
CvSeq *zakreslenia = NULL;
IplImage *klatka = 0;
IplImage *szary = 0;
char *nazwa1 = "Orginalna klatka";
char *nazwa2 = "Po zmianach";
int main()
{
kamera = cvCaptureFromFile("http://kni:blashyrkh@83.15.3.69:80/image.jpg");kamerki w systemie
if(kamera!=NULL)
{
cvNamedWindow(nazwa1,CV_WINDOW_AUTOSIZE);
cvNamedWindow(nazwa2,CV_WINDOW_AUTOSIZE);
pamiec = cvCreateMemStorage(0);
while((klatka=cvQueryFrame(kamera)) != NULL)
{
szary = cvCreateImage(cvGetSize(klatka),8,1);
cvCvtColor(klatka,szary,CV_BGR2GRAY);
cvSmooth(szary, szary, CV_GAUSSIAN_5x5,9,9,0,0);
cvCanny(szary,szary,0,20,3);
zakreslenia = cvHoughCircles(szary,pamiec,CV_HOUGH_GRADIENT,2,szary->height/4,100,100,0,1000);
cvShowImage(nazwa1,klatka);
cvShowImage(nazwa2,szary);
if(cvWaitKey(1)==(char)27)break;
}
cvReleaseImage(&szary);
cvReleaseImage(&klatka);
cvReleaseMemStorage(&pamiec);
cvDestroyWindow(nazwa1);
cvDestroyWindow(nazwa2);
cvReleaseCapture(&kamera);
cvWaitKey(0);
}
return 0;//bo jestem miły dla systemu i informuję go o braku błędów
}
I 'Понятия не имею, что делать - я должен вернуть эту камеру для хранения или написать собственное приложение для захвата кадров?
Я думал, что оно может работать с image.jpg / cachebust = 117434456 & a, но этоничего не меняет
Камера назначена на ip 83.15.3.69 с логином kni и пропуском blashyrkh, так что вы можете проверить это.
Ожидание вашего ответа ...