草庐IT

opencv_gpu

全部标签

c++ - 在框架上用opencv绘制一个矩形

我有一个框架,想在特定位置绘制一个矩形,该矩形具有:#include"opencv2/opencv.hpp"#include#include#includeintmain(){cv::Matframe=cv::imread("cmd.png");cvRectangle(&frame,cvPoint(5,10),cvPoint(20,30),cvScalar(255,255,255));cv::imshow("test",frame);while(cv::waitKey()!=23);return1;}我运行代码时出现内存错误。Unhandledexceptionat0x000007fe

c++ - 使用 OpenCV 计算黑色像素

我正在使用opencv2.4.0和C++我正在尝试做一个练习,说我应该加载RGB图像,将其转换为灰度并保存新图像。下一步是将灰度图像转换为二值图像并存储该图像。我有这么多工作。我的问题是计算二值图像中黑色像素的数量。到目前为止,我已经在网上搜索过,也看过这本书。我发现最有用的方法是。intTotalNumberOfPixels=width*height;intZeroPixels=TotalNumberOfPixels-cvCountNonZero(cv_image);但我不知道如何存储这些值并在cvCountNonZero()中使用它们。当我将我想要计数的图像传递给此函数时,出现错误

c++ - opencv中黑色物体检测HSV范围

黑色物体检测的范围是多少?我试过下面的代码cvInRangeS(imgHSV,cvScalar(0,0,0,0),cvScalar(0,255,255,0),imgThreshold);但它不起作用。 最佳答案 对于HSV范围内的黑白颜色,您必须将色调设置为最大范围(0到180),将饱和度设置为最大范围(0到255)。您可以使用该值,例如,黑色为0到30或40,白色为200到255。//forblackcvInRangeS(imgHSV,cvScalar(0,0,0,0),cvScalar(180,255,30,0),imgThre

c++ - 带掩码的 OpenCV 阈值

我正在尝试使用OpenCV的cv::threshold函数(更具体的THRESH_OTSU),只是我想使用掩码(任何形状)),以便在计算过程中忽略外部(背景)。图像是单channel的(这是必须的),下面的红色仅用于标记图像上的示例多边形。我尝试使用adaptiveThreshold,但有几个问题使它不适合我的情况。 最佳答案 通常,您可以简单地使用cv::threshold计算阈值,然后使用倒置的方法将src图像复制到dst掩码。//Applycv::thresholdonallimagethresh=cv::threshold(

opencv特征匹配算法原理

文章目录一、ORB算法原理1.特征点提取2.特征点编码3.opencv实现4.算法优缺点二、SIFT算法原理1.特征点提取2.特征点描述3.算法优缺点三、SURF算法原理1.特征点提取2.特征点描述3.算法优缺点一、ORB算法原理 全名OrientedFASTandRotatedBRIEF算法,是指它基于FAST算法提取特征点,并基于BRIEF算法构建特征点的描述子,在他们原有的基础上进行修正,实现特征点的尺度不变性与旋转不变性,即经过了缩放与旋转后的特征点仍能产生与原来相近的描述符。算法步骤:1.特征点提取FAST进行特征点提取是根据当前点领域内的点的差值作为特征点的筛选标准(1)选择像素p

c++ - 如何将QImage转换为opencv Mat

我在互联网上搜索过,但找不到将QImage(或QPixmap)转换为OpenCVMat的方法。我该怎么做?感谢任何帮助。 最佳答案 如果QImage仍然存在,并且您只需要对其执行快速操作,那么您可以使用QImage内存构造一个cv::Mat:cv::Matmat(image.height(),image.width(),CV_8UC3,(cv::Scalar*)image.scanLine(0));这里假设QImage是3channel,即RGB888。如果QImage消失,那么您需要复制数据,参见Qimagetocv::Matco

c++ - 用 OpenCV 反卷积?

有没有办法用OpenCV进行反卷积?这里显示的改进给我留下了深刻的印象并希望将此功能也添加到我的软件中。编辑(赏金的附加信息。)我还没有弄清楚如何实现反卷积。此代码帮助我锐化图像,但我认为反卷积可以做得更好。voidImageProcessing::sharpen(QImage&img){IplImage*cvimg=createGreyFromQImage(img);if(!cvimg)return;IplImage*gsimg=cvCloneImage(cvimg);IplImage*dimg=cvCreateImage(cvGetSize(cvimg),IPL_DEPTH_8U,

c++ - 如何仅使用 OpenCV HighGui 制作一个简单的一键式窗口?

我正在使用OpenCV开发一个游戏项目。现在我必须制作一个简单的GUI:一个只有一个按钮的窗口,仅使用HighGui。我不确定,但我想我应该使用这样的东西:cvNamedWindow("NameWindow",CV_WINDOW_AUTOSIZE);非常感谢任何帮助。 最佳答案 OpenCV不提供按钮,但您可以轻松使用彩色矩形,并检查图像上的点击点是否在该矩形内。请记住,OpenCVHighGui非常简单,仅用于调试目的。您可能希望使用功能齐全的图形库,如Qt或类似库。但是,这是一个显示(绿色)图像和顶部按钮的小示例:单击按钮将在标

使用Python,Opencv检测图像,视频中的猫

使用Python,Opencv检测图像,视频中的猫🐱这篇博客将介绍如何使用Python,OpenCV库附带的默认Haar级联检测器来检测图像中的猫。同样的技术也可以应用于视频流。这些哈尔级联由约瑟夫·豪斯(JosephHowse)训练并贡献给OpenCV项目。虽然哈尔级联非常有用,但通常使用HOG+线性SVM,因为它更容易调整检测器参数,更重要的是可以享受更低的假阳性检测率。在haarcscades目录中(OpenCV存储所有经过预训练的Haar分类器以检测各种对象、身体部位等模型)haarcascade_frontalcatface.xmlhaarcascade_frontalcatface

c++ - 在 64 位 mac 上编译 OpenCV 代码

我最近继承了一些OpenCV代码。我在我的mac上安装了openCV,内置在XCode中,然后编译并成功运行了我的第一个openCV“helloworld”-ish程序。现在我正在尝试运行我得到的代码,但我得到的错误让我相信这是一个问题,原始代码在32位Windows系统上运行,而我的代码在64位Mac上运行.当我输入“make”运行Makefile时CC=g++CFLAGS=LDFLAGS=-I/usr/local/include/opencv-lm-lopencv_core-lopencv_highgui-lopencv_videoALL=visionall:$(ALL)visio