小编her*_*tao的帖子

提取文本OpenCV

我试图在图像中找到文本的边界框,目前正在使用这种方法:

// calculate the local variances of the grayscale image
Mat t_mean, t_mean_2;
Mat grayF;
outImg_gray.convertTo(grayF, CV_32F);
int winSize = 35;
blur(grayF, t_mean, cv::Size(winSize,winSize));
blur(grayF.mul(grayF), t_mean_2, cv::Size(winSize,winSize));
Mat varMat = t_mean_2 - t_mean.mul(t_mean);
varMat.convertTo(varMat, CV_8U);

// threshold the high variance regions
Mat varMatRegions = varMat > 100;
Run Code Online (Sandbox Code Playgroud)

给出这样的图像时:

在此输入图像描述

然后,当我显示varMatRegions我得到这个图像:

在此输入图像描述

正如你所看到的那样,它将左侧的文本块与卡片的标题结合起来,对于大多数卡片而言,这种方法效果很好,但在较繁忙的卡片上它可能会导致问题.

这些轮廓连接不好的原因是它使得轮廓的边界框几乎占据了整个卡片.

任何人都可以建议一种不同的方式来查找文本以确保正确检测文本吗?

200分,谁能在这两张卡上方找到文字.

在此输入图像描述 在此输入图像描述

c++ text opencv image-processing bounding-box

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

如何在Bitbucket降价中写一个新行?

可以在Bitbucket降价中写一个新行(不是段落)吗?

源中的两个新行创建一个新段落.我只想要一条新线.而且我不想使用代码块.

markdown newline bitbucket

127
推荐指数
3
解决办法
13万
查看次数

std :: string为float或double

我正试图转换std::stringfloat/double.我试过了:

std::string num = "0.6";
double temp = (double)atof(num.c_str());
Run Code Online (Sandbox Code Playgroud)

但它总是返回零.还有其他方法吗?

c++

88
推荐指数
7
解决办法
27万
查看次数

OpenCV detectMultiScale()参数的建议值

推荐的参数是什么CascadeClassifier::detectMultiScale(),取决于我应该更改默认参数的因素?

void CascadeClassifier::detectMultiScale(
    const Mat& image, 
    vector<Rect>& objects, 
    double scaleFactor=1.1,
    int minNeighbors=3, 
    int flags=0, 
    Size minSize=Size(),
    Size maxSize=Size() )
Run Code Online (Sandbox Code Playgroud)

c++ opencv cascade-classifier

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

C++将字符串转换为十六进制,反之亦然

在C++中将字符串转换为十六进制的最佳方法是什么?

例:

  • "Hello World"十六进制格式的字符串:48656C6C6F20576F726C64
  • 从十六进制48656C6C6F20576F726C64到字符串:"Hello World"

c++ string hex

56
推荐指数
8
解决办法
18万
查看次数

如何从双c语言中获取绝对价值

我希望绝对值来自负二 - 我认为abs-function 和java一样容易使用 - 但不是!

似乎abs函数返回一个int,因为我的值为3.8951,输出为3.000000

double d1 = abs(-3.8951);
printf("d1: ...%lf", d1);
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?那就是 - 我想要a的绝对值double.

c double

56
推荐指数
3
解决办法
11万
查看次数

仅绑定WPF控件的margin属性的一部分

我有这个:

<TabControl Margin="0,24,0,0">...</TabControl>
Run Code Online (Sandbox Code Playgroud)

我想只绑定"Top"TabControl 的一部分,直觉上我会这样做:

<TabControl Margin="0,{Binding ElementName=TheMenu, Path=Height},0,0">
 ...
</TabControl>
Run Code Online (Sandbox Code Playgroud)

我该怎么做 ?

wpf binding margin

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

如何将信号归一化为零均值和单位方差?

我是MATLAB的新手,我正在尝试使用MATLAB构建一个语音变形系统.

所以我想知道如何使用MATLAB将信号归一化为零均值和单位方差?

matlab signal-processing

42
推荐指数
4
解决办法
10万
查看次数

如何获得char*(char数组)的实际长度和总长度?

对于a char [],我可以很容易地得到它的长度:

char a[] = "aaaaa";
int length = sizeof(a)/sizeof(char); // length=6
Run Code Online (Sandbox Code Playgroud)

但是,我不能这样做以获得a的长度char *:

char *a = new char[10];
int length = sizeof(a)/sizeof(char);
Run Code Online (Sandbox Code Playgroud)

因为,我知道,a这里是一个指针,所以length这里将永远是4(或不同系统中的其他东西).

我的问题是,如何才能获得char *事后的长度?我知道有人可能会挑战我你已经知道它,10因为你刚刚创造了它.我想知道这一点,因为这个获得它的长度的步骤可能会从它的创建中走很长一段路,而且我不想长时间回来检查这个数字.而且,我也想知道它的实际长度.

更具体

  • 我怎样才能得到真实的length=5
  • 我怎么能得到它的总数length=10

对于以下示例:

char *a = new char[10]; 
strcpy(a, "hello");
Run Code Online (Sandbox Code Playgroud)

c c++ arrays char

39
推荐指数
3
解决办法
20万
查看次数

为Visual Studio 2010设置OpenCV-2.3

我正在尝试使用Visual Studio 2010 Express的opencv 2.3.我的代码来自示例:

#include "stdafx.h"
#include <highgui.h>

int _tmain(int argc, _TCHAR* argv[])
{
    int c;
    // allocate memory for an image
    IplImage *img;
    // capture from video device #1
    CvCapture* capture = cvCaptureFromCAM(1);
    // create a window to display the images
    cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
    // position the window
    cvMoveWindow("mainWin", 5, 5);
    while(1)
    {
        // retrieve the captured frame
        img=cvQueryFrame(capture);
        // show the image in the window
        cvShowImage("mainWin", img );
        // wait 10 ms for a key to be pressed …
Run Code Online (Sandbox Code Playgroud)

c c++ opencv visual-studio-2010 visual-studio

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