小编kar*_*lip的帖子

在OpenCV中绘制多边形?

我在这做错了什么?

vector <vector<Point> > contourElement;

for (int counter = 0; counter < contours -> size (); counter ++)
{   
    contourElement.push_back (contours -> at (counter));

    const Point *elementPoints [1] = {contourElement.at (0)};
    int numberOfPoints [] = {contourElement.at (0).size ()};

    fillPoly (contourMask, elementPoints, numberOfPoints, 1, Scalar (0, 0, 0), 8);
Run Code Online (Sandbox Code Playgroud)

我一直在const Point部分出错.编译说

error: cannot convert 'std::vector<cv::Point_<int>, std::allocator<cv::Point_<int> > >' to 'const cv::Point*' in initialization
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?(PS:显然忽略for循环末尾的缺失括号,因为这只是我代码的一部分)

c++ arrays opencv vector image-processing

6
推荐指数
2
解决办法
2万
查看次数

gtk最小尺寸

有没有一种简单的方法来请求GTK小部件具有最小宽度/高度?我知道你可以在a的列上做到这一点TreeView,但它是否适用于一般小部件?

c c++ python gtk pygtk

5
推荐指数
1
解决办法
4718
查看次数

CUDA:嵌入式 for 循环内核

我有一些代码想要制作成 cuda 内核。看:

    for (r = Y; r < Y + H; r+=2)
    {
        ch1RowSum = ch2RowSum = ch3RowSum = 0;
        for (c = X; c < X + W; c+=2)
        {
            chan1Value = //some calc'd value
                            chan3Value = //some calc'd value
            chan2Value = //some calc'd value
            ch2RowSum  += chan2Value;
            ch3RowSum  += chan3Value;
            ch1RowSum  += chan1Value;
        }
        ch1Mean += ch1RowSum / W;
        ch2Mean += ch2RowSum / W;
        ch3Mean += ch3RowSum / W;
    }
Run Code Online (Sandbox Code Playgroud)

是否应该将其分成两个内核,一个用于计算 RowSums,另一个用于计算平均值,我应该如何处理循环索引不是从零开始并以 N 结束的事实?

c++ cuda

5
推荐指数
1
解决办法
1358
查看次数

如何从OpenGL ES开始?

我想学习OpenGL ES,但到目前为止我对它一无所知,我想知道是否有一个从0知识明星的教程.请记住,我对图形,绘图等一无所知.

c xcode opengl-es objective-c ios

5
推荐指数
1
解决办法
1426
查看次数

如何使用nasm为程序集8086中的数组动态分配内存

所以我需要在组装中做这样的事情

int *arr = malloc(sizeof (int) * size);
Run Code Online (Sandbox Code Playgroud)

用户输入大小并根据大小,将调用 while 循环来填充数组。

所以我需要一个指向 malloc 创建的空间的指针,我该如何在 ass 86 中做到这一点?另外,我在哪里存储这个指针,以便以后可以使用该数组。说对输入进行二分搜索?

问候 arr

malloc assembly memory-management nasm

5
推荐指数
1
解决办法
1万
查看次数

你如何删除OpenCV中的cvseq?

Bradski声明"当你想删除序列时,可以使用cvClearSeq(),这是一个清除序列所有元素的例程."

但是,此函数不会将内存存储中已分配的块返回到存储或系统.

他说"如果你想为其他目的检索那个内存,你必须通过cvClearMemStore()清除内存存储".

此功能似乎不存在:

error C3861: 'cvClearMemStore': identifier not found
Run Code Online (Sandbox Code Playgroud)

在本书的勘误表中,它指出:"'cvClearMemStore'应该是'cvClearMemStorage'"但是这个函数需要一个指向CvMemStorage的指针,而不是CvSeq.

error C2664: 'cvClearMemStorage' : cannot convert parameter 1 from 'CvSeq *' to 'CvMemStorage *' 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c c++ opencv

5
推荐指数
1
解决办法
7797
查看次数

OpenCV中使用C++的Matrix中的多维数据

我想声明,填充,访问与命名空间cv兼容的OpenCV(C++)中的多维矩阵.我发现没有快速简单的例子.你能帮帮我吗?

c++ opencv

5
推荐指数
2
解决办法
2万
查看次数

从文件opencv读取视频

嗨所以我写了这段代码来捕获文件中的视频

#include <stdio.h>
#include <cv.h>
#include "highgui.h"
#include <iostream>

//using namespace cv

int main(int argc, char** argv)
{
    CvCapture* capture=0;
    IplImage* frame=0;
    capture = cvCaptureFromAVI(char const* filename); // read AVI video    
    if( !capture )
        throw "Error when reading steam_avi";

    cvNamedWindow( "w", 1);
    for( ; ; )
    {
        frame = cvQueryFrame( capture );
        if(!frame)
            break;
        cvShowImage("w", frame);
    }
    cvWaitKey(0); // key press to close window
    cvDestroyWindow("w");
    cvReleaseImage(&frame);
}
Run Code Online (Sandbox Code Playgroud)

每次我运行它,我都会收到以下错误:

CaptureVideo.cpp:在函数'int main(int,char**)'中:

CaptureVideo.cpp:13:28:错误:在'char'之前预期的primary-expression

任何帮助都感激不尽.

c c++ opencv

5
推荐指数
1
解决办法
4万
查看次数

SystemC中的OpenCV

我一直在使用OpenCV和SystemC来满足几个应用程序.

现在,我有这个应用程序,我需要在SystemC模拟环境中使用OpenCV显示图像.但是出于某种原因,两个软件包似乎在"运行时"不兼容:

  • 在调用之前cvNamedWindowcvShowImage在调用SystemC类之前没有问题sc_start().
  • 但是,当a cvNamedWindowcvShowImage在a中调用时sc_thread,程序的执行将中止:

    线程1:EXC_BAD_ACCESS(代码= 2,地址= 0x7c91ad70).

查询frames(cvQueryFrame)没有问题,只有与窗口相关的函数似乎会导致问题.如果有人知道可能导致此问题的原因,并且如果有解决方案或解决此问题的方法,那就太棒了.

PS我正在使用Xcode,但我认为问题与编码环境无关.

c opencv systemc

5
推荐指数
0
解决办法
500
查看次数

如何在从ORIGINAL-IMAGE中提取的SUB-IMAGE中执行模板匹配过程并在原始图像中显示结果

整整一天我已经尝试了很多东西来获得子图像中的所有相关匹配(使用matchtemplate函数),这是我已经使用mousecallback函数从原始图像中提取的ROI.所以我的代码在下面是匹配功能

 ////Matching Function
void CTemplate_MatchDlg::OnBnTemplatematch()
 {

  namedWindow("reference",CV_WINDOW_AUTOSIZE);    
   while(true)
   { 

 Mat ref = imread("img.jpg");                    //  Original Image   
 mod_ref = cvCreateMat(ref.rows,ref.cols,CV_32F);// resizing the image to fit in picture box
 resize(ref,mod_ref,Size(),0.5,0.5,CV_INTER_AREA);

   Mat tpl =imread("Template.jpg"); // TEMPLATE IMAGE  

  cvSetMouseCallback("reference",find_mouseHandler,0);

  Mat aim=roiImg1.clone(); // SUB_IMAGE FROM ORIGINALIMAGE                   
                               // aim variable contains the ROI matrix
                               // next, want to perform template matching in that ROI                                                //                                     and display results on original image 


     if(select_flag1 == 1)
    {

        // imshow("ref",aim);

        Mat res(aim.rows-tpl.rows+1, aim.cols-tpl.cols+1,CV_32FC1);
                    matchTemplate(aim, tpl, res, CV_TM_CCOEFF_NORMED);
        threshold(res, res, …
Run Code Online (Sandbox Code Playgroud)

c c++ opencv image-processing template-matching

5
推荐指数
1
解决办法
2735
查看次数