草庐IT

c++ - Blob 噪声生成

抱歉,如果这看起来像一个愚蠢或懒惰的“我找不到它”的问题,但我已经尝试了几天,以找到一篇论文或类似的东西来解释如何生成散斑噪声(在2D图像上)。我发现去除散斑噪声的更简单方法之一是均值滤波器(我已经实现了)但是我绝对找不到产生噪声的方法。有人可以吗指导我在哪里可以学习生成散斑噪声?此外,询问在OpenCV(一个C++图像处理库)中是否有一种简单的方法可以做到这一点是否有点牵强。感谢您提供的任何帮助。 最佳答案 Blob噪声本质上是一种乘性噪声,它可能(也可能不)具有加性噪声(定义因情况而异)。这paper很好地概述了Blob噪声,包

c++ - 使用 SURF 如何通过说这是匹配图像来给出结果?

我正在做一个项目来识别纸币的值(value),我应该返回值(value)。我使用SURF算法来检测值(value)。有几个货币值(value)模板,我匹配那些具有从移动相机捕获的货币图像的模板..通过使用SURF,我可以匹配值,如果值匹配,则在山谷周围绘制一个矩形。如果值不匹配,则不绘制矩形....*问题是我如何返回匹配值。在命令提示符下显示该值就足够了。*请帮助我。非常感谢.. 最佳答案 在您调用matchTemplate之后你会得到一个矩阵结果voidmatchTemplate(InputArrayimage,InputArra

c++ - 在 C++ 中使用 OpenCV 从摄像机流式传输视频时程序不会启动

是的,我有一个连接到PC的USB相机,我想使用OpenCV从它流式传输图像。这是我的代码:#include#include#includeintmain(){CvCapture*cameraCapture=cvCaptureFromCAM(CV_CAP_ANY);cvNamedWindow("Camera");while(1){IplImage*frame=cvQueryFrame(cameraCapture);cvShowImage("Camera",frame);if((cvWaitKey(10)&255)==27)break;}cvReleaseCapture(&cameraCa

c++ - cv::Mat 检测 PixelFormat

我正在尝试使用pictureBox->Image(WindowsForms)来显示cv::Mat图像(openCV)。我想这样做而不将图像保存为文件(因为我想每100毫秒重置一次图像)。我刚刚在这里找到该主题:Howtodisplayacv::MatinaWindowsFormapplication?当我使用此解决方案时,图像似乎只有白色。我想我拿错了PixelFormat。那么如何找出我需要的PixelFormat呢?还没有在cv::Mat中看到任何方法来获取相关信息。或者这是否取决于我用来创建此cv::Mat的图像源?到目前为止谢谢:)我在这里拍了一张屏幕。它不是完全白色的。所以我

c++ - 对比 openCV 拉伸(stretch)图像

我正在尝试使用cvNormalize将图像的对比度拉伸(stretch)到0-255的范围。但是当我打印出输出像素值时,一些负数显示为像素值。如果您能帮助我找出问题的根源,我将不胜感激。这是代码:cvNormalize(srcImage,dstImage,0,255,CV_MINMAX);for(intpixel=0;pixelheight*dstImage->width;pixel++){printf("%d\t",*(dstImage->imageData+pixel));} 最佳答案 因为imageData的类型是char*而

c++ - 使用 Python 在 OpenCV 中解析 XML 或 YML

这个问题在这里已经有了答案:FileStorageforOpenCVPythonAPI(6个答案)关闭6年前。使用openCV,您可以使用YML或XML格式保存/加载数据。cv::FileStorage使用c++API很容易。我无法让它与pythonAPI一起工作。`Here是使用opencvc++API创建的YML文件的示例。如果有人成功使用openCVpythonAPI加载它,请告诉我!

c++ - 如何有效地提取 cv::Mat 的子集

机器学习中的一个常见做法是让数据集的第一列代表数据点对应行所属的类。基本上,我有一个cv::Mat并且我想有效地创建一个包含该矩阵的cv::Mat并删除了第一列。有没有比遍历列和行并使用mat.at(row,col)=elem;一个一个添加元素更有效的方法呢?? 最佳答案 参见Mat::operator()来自OpenCV文档。 关于c++-如何有效地提取cv::Mat的子集,我们在StackOverflow上找到一个类似的问题: https://stacko

c++ - 在没有 openCV 的情况下使用 C++ 访问网络摄像头

我可以在不使用opencv(并且没有其他外部库)的情况下制作一些c++网络摄像头程序吗?我的想法是从网络摄像头获取数据并将其显示在窗口上,就像实时视频一样。你能给我举个例子吗?对不起,我的英语不好。非常感谢。 最佳答案 长话短说:对于Windows和C/C++,最直接的方法是使用DirectShow。这里有一个很好的DirectShowframegrabber包装器:http://www.muonics.net/school/spring05/videoInput/是的,您仍然需要安装DXSDK,但实际上我设法将所需的DShow接口

c++ - 使用 C++ 从 MJPEG 流中捕获视频

我想使用C++捕获MJPEG流。我有哪些选择?我已经尝试过支持FFMPEG的OpenCV,但icvCreateFileCapture_FFMPEG_p总是返回null(超时几秒后)。我可以自己编写HTTP客户端吗?问候, 最佳答案 M-JPEG很容易捕捉。您向服务器发送一个HTTP请求并以multipart/x-mixed-replace格式(Content-Type)读回无限响应。然后将其拆分为帧,这些帧是独立的JPEG文件...子标题可能包含也可能不包含其他信息,例如时间戳。您可能会发现这也相关且有用:HowtoparseMJP

c++ - 使用 Opencv CvNormalBayesClassifier 训练皮肤像素

我是OpenCV的新手。我正在尝试使用CvNormalBayesClassifier来训练我的程序来学习皮肤像素颜色。目前我有大约20张不同光照条件和背景下的人物照片(面部/其他body部位)。我还得到了20个相应的响应,其中皮肤部分标记为红色,其他所有部分标记为绿色。我无法理解如何使用该功能boolCvNormalBayesClassifier::train(constCvMat*_train_data,constCvMat*_response,constCv*Mat_var_idx=0,constCvMat*_sample_idx=0,,boolupdate=false);我应该如