草庐IT

opencv-cuda

全部标签

c++ - OpenCV:期望最大化的预测函数的输出

背景:我有2组来自图像的颜色像素,一组对应于背景,另一组对应于前景。接下来,我使用来自OpenCV的EM为每组训练2个高斯混合模型。我的目标是找出随机像素属于前景和背景的概率。因此,我对像素上的每个EM使用函数“预测”。问题:我不明白这个函数返回的值。在OpenCV的文档中是这样写的:Themethodreturnsatwo-elementdoublevector.Zeroelementisalikelihoodlogarithmvalueforthesample.Firstelementisanindexofthemostprobablemixturecomponentfortheg

c++ - OpenCV 帮助我使用 Sepia 内核

我正在尝试创建棕褐色效果。这是我正在尝试的代码:Matimage_copy;cvtColor(image,image_copy,CV_BGRA2BGR);Matkern=(Mat_(4,4)但它不起作用。我得到一个黑色图像。没有错误,没有异常,只是黑色图像。有什么想法吗?我尝试过应用不同的内核,它们确实有效。例如:Matkern=(Mat_(4,4)请帮忙。 最佳答案 您似乎正在创建一个char值的内核,但试图存储float值。确保使用与要存储的值相同的数据类型声明内核:#include#include#includeintmain

c++ - OpenCV 保存 CV_32FC1 图像

我正在使用的程序正在读取一些位图,并需要32FC1个图像。我正在尝试创建这些图像cv::MatM1(255,255,CV_32FC1,cv::Scalar(0,0,0));cv::imwrite("my_bitmap.bmp",M1);但是当我检查深度时——它总是CV_8U如何创建文件以便它们包含正确的信息?更新:如果我使用不同的文件扩展名也没关系-例如tif或png我正在阅读它-使用已经实现的代码-使用cvLoadImage。我正在尝试创建现有代码(检查图像类型)可以使用的文件。我无法在现有代码中转换文件。现有代码不会尝试读取随机图像类型并将其转换为所需类型,而是检查文件是否属于所需

Opencv(C++)学习 TBB与OPENMP的加速效果实验与ARM上的实践(二)

在上一篇文章中,我们成功验证了IntelThreadingBuildingBlocks(TBB)与OpenMP在多线程并行处理方面的加速潜力。为了更深入地理解这些技术在实际应用场景中的效能提升,接下来我们将目光转向目标开发板环境,进一步探究这两种框架在嵌入式系统上的实际加速效果。一、OPENMP加速效果测试在探讨OPENMP对性能提升的影响时,我们首先遇到了一个有趣的插曲。通常情况下,OpenMP作为一项编译器层面的支持特性,只需在编译阶段通过简单的命令行标志即可启用,例如在使用make构建时追加-fopenmp参数,或在CMake项目中配置如set(CMAKE_CXX_FLAGS“-fope

opencv_角点检测

文章内容一个opencv检测角点的程序运行效果#include#include#include#includeusingnamespacecv;usingnamespacestd;voiddetectCorners(Matimage){MatgrayImage;cvtColor(image,grayImage,COLOR_BGR2GRAY);vectorPoint2f>corners;goodFeaturesToTrack(grayImage,corners,100,0.01,10);for(inti=0;icorners.size();i++){circle(image,corners[i]

c++ - 为三角矩阵计算优化 CUDA 内核的执行

我正在开发我的第一个Cuda应用程序,我有一个“吞吐量低于预期”的内核,这似乎是目前最大的瓶颈。内核的任务是计算一个N×N大小的矩阵(DD),其中包含数据矩阵上所有元素之间的平方距离。数据矩阵(Y)的大小为NxD(以支持多维数据)并存储为行优先。来源:__global__voidcomputeSquaredEuclideanDistance(constfloat*__restrict__Y,float*__restrict__DD,constintN,constintD){intindex=blockIdx.x*blockDim.x+threadIdx.x;intstride=bloc

c++ - OpenCV编码为H264

我想在OpenCV中将图像编码为H264视频。作为我的图像跟踪软件的一部分,我在OpenCV3.4(64位)和VisualStudio2017C++中使用VideoWriter。我使用ffmpeg进行手动编码,因为它与OpenCV一起提供,所以我认为这是最佳选择。我的OpenCV版本表明它是用ffmpeg编译的,我可以验证它加载了opencv_ffmpeg340_64.dll。解码H264(AVC1)绝对没问题,包括在专门使用ffmpegAPI时。但是编码MJPG或原始图像以外的任何内容都不起作用:VideoWriter.Open()主要返回false,在某些情况下,它只写入一个空的或

基于OpenCV的图像颜色与形状识别设计与实现实验指导书

基于OpenCV的图像颜色与形状识别设计与实现实验指导书一、实验目的:通过本实验,学生将了解图像颜色与形状的基本概念,并掌握使用OpenCV进行图像颜色与形状识别的方法。具体操作包括图像剪裁、颜色识别、轮廓检测。二、实验器材:计算机安装了Python和OpenCV库的开发环境彩色图像三、实验步骤:1、导入必要的库:importcv2ascvimportnumpyasnpimportmathfromPILimportImage,ImageDraw,ImageFont2、设定颜色阈值:根据需要识别的颜色,设定相应的颜色阈值。例如:lower_red=np.array([0,120,100])upp

c++ - 使用opencv的光流

我正在使用OpenCV的PyramidLukasKanade函数来估计光流。我调用cvGoodFeaturesToTrack,然后调用cvCalcOpticalFlowPyrLK。这是我的代码:while(1){...cvGoodFeaturesToTrack(frameAth,eig_image,tmp_image,cornersA,&corner_count,0.01,5,NULL,3,0.4);std::coutframeAth是前一个灰帧,frameBth是来自网络摄像头的当前灰帧。但是当我在每帧中输出要跟踪的好特征的数量时,数量在总和时间后减少并持续减少。但是,如果我终止程序

c++ - OpenCV2.4 从视频中捕获帧可能存在的错误

会不会是OpenCV2.4highgui在windows下抓帧有bug?我安装了两个预编译库,那些都是我编译的,我可以完美地编译所有的东西,我可以运行我的程序,如果它们是基于图像的。该问题仅针对视频。OpenCV在这个函数中总是崩溃:virtualIplImage*retrieveFrame(int){unsignedchar*data=0;intstep=0,width=0,height=0,cn=0;if(!ffmpegCapture||!icvRetrieveFrame_FFMPEG_p(ffmpegCapture,&data,&step,&width,&height,&cn))