小编skm*_*skm的帖子

简单传递矩阵即.cv :: Mat到OpenCV2.4中的函数

我是opencv的新手,我对编码中最简单的操作之一有疑问:将值传递给函数.

继承人我想做什么,

  1. 使用cv:Mat从0到50的值初始化main函数中的a .
  2. 将此矩阵作为参数传递给函数foo(),该函数又简单地打印出矩阵中每个元素的值.而已.

现在我已经在多个地方读过,当这些矩阵被传递时,它只是传递的头,而不是实际的数据.那我怎么能够在被调用的函数中读出这个矩阵的值,好像整个矩阵都被传递了一样?

c++ opencv image-processing

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

openCV中Point2f的结构是什么?

我很困惑什么Point2f回报.我有,vector<Point2f> corner;那么行和列的坐标是什么?它会跟随:

int row_coordinate = corner[i].x;
int col_coordinate = corner[i].y;
Run Code Online (Sandbox Code Playgroud)

但如果我采取上述惯例,我会遇到分段错误.如果我这样做的话

int row_coordinate = corner[i].y;
int col_coordinate = corner[i].x;
Run Code Online (Sandbox Code Playgroud)

然后我得到了结果,但它似乎与OpenCV文档相反.请告诉我哪一个是正确的.如果你提供一些文档链接(我已经尝试搜索了很多)会非常好.

opencv

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

方差(sigma)对高斯光滑的影响

我知道高斯,varaince,图像模糊,我认为我理解高斯模糊的方差概念,但我仍然不是100%肯定.

我只是想知道sigma or variance高斯平滑的作用.我的意思是,通过增加sigma相同窗口大小的值来发生什么...以及它为什么会发生?

如果有人提供一些关于它的好文献,那将是非常有帮助的.(我已经尝试了一些,但找不到我要找的东西)

主要困惑:

更高的频率 - >细节(例如噪音),

较低的频率 - >图像的概述.

通过增加sigma,我们允许一些更高的频率....所以我们应该随着频率增加得到更详细但情况相反,当我们增加时sigma,图像变得更加模糊.

opencv image-processing computer-vision

9
推荐指数
2
解决办法
8944
查看次数

证书链无法建立到受信任的根权限

在安装.NET Framework 4.6.2的过程中,出现错误:

.NET Framework安装失败:-2146762486。证书链无法建立到受信任的根权限

MSDN Blog链接给出了针对上述错误的解决方案,该链接指示执行以下步骤:

1. 在 本地下载证书http://www.microsoft.com/pki/certs/MicRooCerAut2011_2011_03_22.crt(示例:C:\ Temp)

2.您可以使用certmgr.exe实用程序通过命令行添加证书。有关更多信息,请参见MSDN上的Certmgr.exe(证书管理器工具)主题。

3.打开管理命令提示符,然后运行以下命令:certmgr.exe / add C:\ Temp \ MicRooCerAut2011_2011_03_22.cer / s / r localMachine root

4.接下来,尝试安装修补程序KB3135996或KB3136000

我的问题:

.NET Framework 4.6.2的安装必须在多个生产系统上完成,因此上述步骤是否为标准?我的意思是,在多个系统上安装相同的证书是否会造成问题?当系统在某个时候连接到Internet时,是否会产生冲突?

PS:通过将系统连接到Internet来解决此问题(管理证书)对我来说不是一个选择,因为整个过程必须离线

.net certificate windows-7-embedded

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

错误:没有名为cv2的模块

我已经在SO上找到了一些问题,但我无法使用那里的答案来解决这个问题.

我是python的新手.我在Ubuntu 12.04中使用python.在我的/usr/local/lib,有两个python文件夹python 2.7python 3.2.python 2.7包含dist-packages和site-packages,同时python 3.2只包含dist-packages.

我试图用以下代码运行一个非常简单的opencv示例:

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('image.JPG')

kernel = np.ones((5,5),np.float32)/25
dst = cv2.filter2D(img,-1,kernel)

plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(dst),plt.title('Averaging')
plt.xticks([]), plt.yticks([])
plt.show()
Run Code Online (Sandbox Code Playgroud)

错误:没有名为cv2的模块

python opencv

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

nuget.org:无法加载服务索引

这实际上并不是这个问题的重复,因为提供的答案不起作用,而且我正在使用 Bootcamp 在 MacBook 上使用 Windows-7

我在尝试在 Nuget 包管理器中搜索任何包时收到以下错误:

严重性代码说明项目文件行抑制状态错误 [nuget.org] 无法加载源https://api.nuget.org/v3/index.json的服务索引。发送请求时发生错误。底层连接已关闭:发送时发生意外错误。无法从传输连接读取数据:现有连接被远程主机强制关闭。现有连接被远程主机强制关闭

我的 NuGet 配置文件 ( %appdata%/nuget):

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>
Run Code Online (Sandbox Code Playgroud)

nuget

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

用于openCV的HSV色轮图片?

我已经编写了直方图的代码,我想用它来进行SVM训练.但根本问题是我不明白应该选择多少个最小数量的垃圾箱,以便我可以在不同颜色(红色,绿色,黄色,蓝色,橙色)的垃圾箱之间获得各种各样的分布.

那么,有人可以给我链接/发布用于openCVHue色轮的图像.我需要如下所示的东西,但其中的色调范围是0-360,我需要一个opencv使用的色轮(即0-180)

图片

c++ opencv hsv

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

理解memcpy()完成的复制

我必须创建一个图像,其列数是原始图像的两倍.因此,我将新图像的宽度保持为原始图像的宽度的两倍.

虽然这是一个非常简单的任务,但memcpy()已经完成了,但我想知道通过使用这个任务获得的奇怪结果.

我的代码:

int main()
{

    Mat image = imread("pikachu.png", 1);
    int columns = image.cols;
    int rows = image.rows;

    Mat twoTimesImage(image.rows, 2 * image.cols, CV_8UC3, Scalar(0));

    unsigned char *pSingleImg = image.data;
    unsigned char *ptwoTimes = twoTimesImage.data;

    size_t memsize = 3 * image.rows*image.cols;

    memcpy(ptwoTimes , pSingleImg, memsize);
    memcpy(ptwoTimes + memsize, pSingleImg, memsize);

    cv::imshow("two_times_image.jpg", twoTimesImage);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

原始图片:

此搜索

结果

图像2

预期成绩:

图像3

问题:当得到的图像只是原始图像的两倍时,为什么4个原始图像被复制到新图像?其次,memcpy()以行方式复制连续的内存位置,因此我应该得到一个显示在"预期结果"中的图像.

opencv memcpy c++11

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

并发队列C#中的线程安全

我有一个MessagesManager线程,不同的线程可以发送消息,然后这个 MessagesManager线程负责发布这些消息SendMessageToTcpIP()(MessagesManager线程的起点).

class MessagesManager : IMessageNotifier
{
    //private
    private readonly AutoResetEvent _waitTillMessageQueueEmptyARE = new AutoResetEvent(false);
    private ConcurrentQueue<string> MessagesQueue = new ConcurrentQueue<string>(); 

    public void PublishMessage(string Message)
    {
        MessagesQueue.Enqueue(Message);
        _waitTillMessageQueueEmptyARE.Set();
    }

    public void SendMessageToTcpIP()
    {
        //keep waiting till a new message comes
        while (MessagesQueue.Count() == 0)
        {
            _waitTillMessageQueueEmptyARE.WaitOne();
        }

        //Copy the Concurrent Queue into a local queue - keep dequeuing the item once it is inserts into the local Queue
        Queue<string> localMessagesQueue = new Queue<string>(); …
Run Code Online (Sandbox Code Playgroud)

c# multithreading

6
推荐指数
1
解决办法
2621
查看次数

NSIS安装程序中的版本比较

我必须比较当前文件的版本和已经安装在NSIS安装程序中的版本。我知道版本号是字符串形式的,但是我在几个地方读到,如果逻辑操作需要,NSIS会自动将字符串转换为整数。

出于测试目的,我编写了以下脚本:

Var Test1
Var Test2

section
    StrCpy $Test1 "4.3.1.50245"
    StrCpy $Test2 "4.2.1.50245"

    ${If} $Test1 > $Test2
        MessageBox MB_ICONSTOP  "$Test1 is bigger than $Test2" 
    ${Else}
        MessageBox MB_ICONSTOP  "$Test2 is bigger than $Test1" 
    ${EndIf}
    Quit
    sectionEnd
Run Code Online (Sandbox Code Playgroud)

问题:它给我的结果4.2.1.50245比伟大4.3.1.50245。然而,它给了我正确的结果,如果我尝试比较4.2.1.502453.2.1.50245(或者,如果我比较5024540256等)

nsis

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