gpt4 book ai didi

OpenCV 和与 IP Camera 的连接 - 我的相机型号

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:08 26 4
gpt4 key购买 nike

我购买了 IP Camera,包装盒上似乎没有品牌,但通过浏览器查看时它工作正常。我想用它来抓取一些帧。盒子上说它允许我以 mjpeg 流的形式抓取数据,但实际上我不能那样做。我以前用其他网络摄像机做过,一切正常 - 直到现在。

这是我的代码 - 如果它可以帮助您解决问题或向我展示方法。

    #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

}

我不知道该怎么做 - 我应该把那个摄像头退回存储或编写自定义应用程序以某种方式抓取帧吗?

我认为它可以在最后与 image.jpg/cachebust=117434456&a 一起使用,但它并没有改变任何东西

摄像头被分配到 ip 83.15.3.69,登录 kni 并通过 blashyrkh,因此您可以检查它。

等待您的回复...

最佳答案

据我所知,将 OpenCV 与 IP 摄像头一起使用的可能性是一个未记录(且意外)的功能,它之所以有效,只是因为 ffmpeg(其后端)支持 ip rtp 传输。

问题是它只适用于未加密的流(所以如果你的相机没有密码,它应该可以工作。)当你发送密码时,它没有被正确处理,并且 ffmpeg 没有收到预期的路径字符串。

您可以测试它尝试使用 VLC 进行连接。您还可以使用 Wireshark 来检查相机和 OpenCV 之间的消息传输。 (使用 ip.addr==your_camera_ip 过滤)

关于OpenCV 和与 IP Camera 的连接 - 我的相机型号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8171426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com