小编kar*_*lip的帖子

访问负像素值OpenCV

我试图在OpenCV中对图像执行过零边缘检测.我模糊并使用cvLaplace()然后从(0,max)缩放它.我的问题是:如何以正确识别负值的方式访问该图像中的像素值?使用OpenCV(cvPtr2D)提供的函数返回无符号字符.有什么想法或意见吗?

谢谢

c c++ opencv gaussian edge-detection

2
推荐指数
1
解决办法
4842
查看次数

通过Opencv混合两个图像

我想使用Opencv对齐两个不同大小的图像.事实上,cvAddWeighted函数使我们能够组合或混合两个相同大小的图像,这不是我的情况!所以如果有人知道如何在考虑图像的不同尺寸的情况下实现这个功能,我需要帮助

谢谢你

opencv blending image-processing visual-c++

2
推荐指数
1
解决办法
6858
查看次数

内核函数参数为const

说我有一个内核

foo(int a, int b)
{
    __shared__ int array[a];
}
Run Code Online (Sandbox Code Playgroud)

它似乎必须是一个常量值,我在int前添加了const.它的基础没有成功,任何想法?

foo(const int a, const int b)
{
    __shared__ int array[a];
}
Run Code Online (Sandbox Code Playgroud)

c c++ cuda

2
推荐指数
1
解决办法
535
查看次数

使用C++从xml文件中读取一行

我的XML文件有:

<Package> xmlMetadata </ Package>

我正在此文件中搜索标签,并且必须在控制台上打印此标签的开始和结束标签之间的文本.即在这种情况下,我希望在控制台上打印xmlMetadata.同样,它应该在文件中更进一步,如果它遇到同一文件中的另一个<Package>标记,则再次打印.

这是我的代码,但它是打印整个文件的内容:

{
    string line="< Package >";
    ifstream myfile (xmlFileName); //xmlFileName is xml file in which search is to done
    if (myfile.is_open())
    {
    while ( myfile.good() )
    {
      getline (myfile,line);
      std::cout<<line<< endl;
    }
    myfile.close();
    }
    else cout << "Unable to open file"; 
}
Run Code Online (Sandbox Code Playgroud)

在我的整个xml下面显示:

< ? xml version="1.0" ? >
< fileStructure >
< Main_Package >
   File_Navigate
< /Main_Package >
< Dependency_Details >

< Dependency >
   < Package >
      xmlMetadata
   < /Package >
   < Header …
Run Code Online (Sandbox Code Playgroud)

c++ xml

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

C++:如何使用namelength从内存中的字符指针取消引用多个字符

这是代码:

errorLog.OutputSuccess("Filename reference: %c", *t_current_node->filename);
Run Code Online (Sandbox Code Playgroud)

它当然只输出第一个字符.如果我添加类似->filename[nameLen]nameLen是10的有效整数,它会说:

*的操作数必须是指针.

谢谢!

c c++ pointers char dereference

2
推荐指数
1
解决办法
412
查看次数

opencv中的视频文件

我想读取视频文件(.avi或.mov)并使用Opencv检测运动和边缘.可以帮我提供代码吗?我想创建一个GUI,我们可以在其中选择视频文件,然后我们就可以进行图像处理了opencv中的函数?

c c++ opencv motion-detection video-streaming

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

从服务器下载图像(cUrl,但是提出建​​议)C++

我试图通过从服务器(网站)下载图像设置旋转背景图片,并试图与这样卷曲然而有0成功做到这一点.我的代码的(缩短版)如下所示.我没有收到错误,但是,如何"临时"保存此图像以将其显示为我的背景?有图像(-type变量)还是什么?

这只是一次学习经历,因此非常感谢任何图书馆或建议.

#include <curl/curl.h>
CURL *curlCtx = curl_easy_init();
curl_easy_setopt(curlCtx, CURLOPT_URL, "http://www.examplesite.com/testimage.jpeg");
curl_easy_setopt(curlCtx, CURLOPT_WRITEDATA, this);
curl_easy_setopt(curlCtx, CURLOPT_WRITEFUNCTION, callbackfunction);
const CURLcode rc = curl_easy_perform(curlCtx);
if(rc == CURLE_OK){
    //it worked
}


size_t callbackfunction(char *data, size_t size, size_t nmemb, void *stream){
    //do something here with image...?
}
Run Code Online (Sandbox Code Playgroud)

谢谢,詹姆斯

编辑:对不起我错误地添加了()回调函数.

c c++ curl image download

2
推荐指数
1
解决办法
4322
查看次数

OpenCV:将内存中的指针转换为图像

我有一个抓取器可以获取图像并使用以下代码在屏幕上显示它们

while((lastPicNr = Fg_getLastPicNumberBlockingEx(fg,lastPicNr+1,0,10,_memoryAllc))<200) {                                                           
                iPtr=(unsigned char*)Fg_getImagePtrEx(fg,lastPicNr,0,_memoryAllc);                  
                ::DrawBuffer(nId,iPtr,lastPicNr,"testing");                                         }
Run Code Online (Sandbox Code Playgroud)

但我想使用指向图像数据的指针并用OpenCV显示它们,因为我需要对像素进行处理.我的相机是CCD单声道相机,像素的深度是8位.我是OpenCV的新手,opencv中是否有任何选项可以返回(unsigned char*)Fg_getImagePtrEx(fg,lastPicNr,0,_memoryAllc); 并在屏幕上显示它?或者从iPtr指针获取数据允许我使用图像数据?

c c++ opencv pointers image

2
推荐指数
1
解决办法
8362
查看次数

OpenCV - 计算黑色像素数

我有一个二进制图像.在某个感兴趣的区域内,我需要计算黑色像素的数量.总是存在循环像素并计算它们的方式,但我正在寻找一种更有效的方法,因为我需要实时进行.

我找到了一种计算非零像素数的方法(使用cvCountNonZero()).是否有任何这样的等效函数来计算零像素(似乎没有我见过的那么多)?如果没有,那么计算黑色像素的最有效方法是什么?

c optimization opencv image-processing

2
推荐指数
1
解决办法
7723
查看次数

使用openCV检测ROI

我正在做一项工作,我必须找到感兴趣的区域(ROI),然后对图像执行阈值:

在此输入图像描述

因为我不是来自计算领域,所以我遇到了一些困难.

我开始尝试通过以下代码找到ROI:

// code
string filename = "2011-06-11-09%3A12%3A15.387932.bmp";

Mat img = imread(filename)

if (!img.data)
{
    std::cout << "!!! imread não conseguiu abrir imagem: " << filename << std::endl;
    return -1;
}

cv::Rect roi;
roi.x = 0
roi.y = 90

roi.width = 400;
roi.height = 90;

cv::Mat crop = original_image(roi); 
cv::imwrite("2011-06-11-09%3A12%3A15.387932.bmp", crop);
Run Code Online (Sandbox Code Playgroud)

非常感谢你.

c++ opencv image-processing visual-c++

2
推荐指数
1
解决办法
3638
查看次数