Tag: C#的

提取文本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; 当给这样一个图像: 然后当我显示varMatRegions我得到这个图像: 正如你所看到的,它将左边的文本块和卡片的头部结合起来,对于大多数卡片来说,这种方法效果很好,但是在繁忙的卡片上可能会导致问题。 这些轮廓连接不好的原因是它使得轮廓的边界框几乎占据整个卡。 任何人都可以提出一个不同的方式,我可以找到文本,以确保正确的文本检测? 200分以上的人可以在卡上面找到这两个文字。

unsigned int与size_t

我注意到现代的C和C ++代码似乎几乎在任何地方都使用size_t来代替int / unsigned int – 从C字符串函数的参数到STL。 我很好奇这个原因和它带来的好处。

C ++ 11中“typedef”和“using”有什么区别?

我知道在C ++ 11中,我们现在可以using typedef s using类型别名: typedef int MyInt; 据我所知,相当于: using MyInt = int; 这种新的语法来自于努力去表达“ template typedef ”: template< class T > using MyType = AnotherType< T, MyAllocatorType >; 但是,在前两个非模板的例子中,标准还有其他的细微差别吗? 例如, typedef以“弱”方式进行别名。 也就是说,它不会创建新的类型,而只是一个新的名称(这些名称之间的转换是隐含的)。 它是using相同还是生成一个新的类型? 有什么区别?

哪个.NET依赖注入框架值得研究?

哪个C#/ .Net依赖注入框架值得研究? 你怎么能说他们的复杂性和速度。

在C 中最有效的位反转算法(从MSB-> LSB到LSB-> MSB)

什么是最好的算法来实现以下内容: 0010 0000 => 0000 0100 转换是从MSB-> LSB到LSB-> MSB。 所有位必须颠倒; 也就是说,这不是端到端的交换。

用更好的浏览器代替.NET WebBrowser控件,比如Chrome?

是否有任何相对简单的方法来将现代浏览器插入到.NET应用程序中? 据我所知, WebBrowser控件是IE的包装器 ,除了它看起来是一个非常旧的IE版本,这不会是一个问题,所有这一切都需要在CSS拧紧,潜在的安全性风险(如果渲染引擎没有打补丁,我真的可以期望缓冲区溢出问题得到解决吗?)和其他问题。 我正在使用Visual Studio C# (快速版 – 这有什么区别?) 我想在我的应用程序中集成一个好的网页浏览器。 在某些情况下,我只是用它来处理用户注册过程,与我的一些网站的功能和其他顺序的接口,但我有另一个应用程序,需要更多的错误控制。 我需要: 一个浏览器,可以集成在我的应用程序窗口(而不是一个单独的窗口) 很好的支持CSS,JS和其他网络技术,与任何现代浏览器一样 基本的浏览器功能,如“导航”,“后退”,“重新加载”… 自由访问页面代码和输出。 我在考虑Chrome,因为它属于BSD许可证,但是对于最近版本的IE,我会感到满意。 尽可能地,我想保持简单。 最好的情况是,如果可以修补现有的WebBrowser控件,这个控件已经达到了我所需要的约70%,但我认为这是不可能的。 我已经找到了一个Mozilla的ActiveX控件( http://www.iol.ie/~locka/mozilla/control.htm ),但看起来它是一个旧版本,所以它不一定是一个改进。 我很乐意提供建议

在Unity中使用资源文件夹

我正在开发一个需要引用.txt文件的HoloLens项目。 我有存储在Unity的“资源”文件夹中的文件,并使它们完美地工作(通过Unity运行时): string basePath = Application.dataPath; string metadataPath = String.Format(@"\Resources\…\metadata.txt", list); // If metadata exists, set title and introduction strings. if (File.Exists(basePath + metadataPath)) { using (StreamReader sr = new StreamReader(new FileStream(basePath + metadataPath, FileMode.Open))) { … } } 但是,在构建HoloLens部署的程序时,我能够运行代码,但不起作用。 没有资源显示出来,当检查HoloLens Visual Studio解决方案(通过在Unity中选择构建创建的)时,我甚至没有看到资源或资产文件夹。 我想知道我是否做错了什么,或者是否有特殊的方法来处理这些资源。 也与图像和声音文件… foreach (string str in im) { spriteList.Add(Resources.Load<Sprite>(str)); } 字符串'str'是有效的; 它在Unity中工作得很好。 […]

OpenGL – OBJ中的顶点法线

我想知道如何使用顶点法线作为闪电效果? 目前我所拥有的是我可以发送顶点和纹理坐标到着色器,并使用它们,但与法线,我不知道如何在着色器程序中使用它们。 以下是我到目前为止。 // vertex shader layout(location = 0) in vec4 vert; layout(location = 1) in vec4 color; layout(location = 2) in vec2 texcoord; uniform mat4 m_model; uniform mat4 m_view; uniform mat4 m_proj; void main() { gl_Position = m_proj * m_view * m_model * vert; } // fragment shader in vec2 fragtexcoord; out vec4 color; […]

为什么没有调用构造函数?

这段代码并不像我期望的那样。 #include<iostream> using namespace std; class Class { Class() { cout<<"default constructor called"; } ~Class() { cout<<"destrutor called"; } }; int main() { Class object(); } 我期望输出的默认构造函数叫',但我没有看到任何东西作为输出。 问题是什么?

快速平方平方计算

为了加速我的数字divisons,我需要加速对bigint的操作y = x ^ 2,表示为无符号DWORD的动态数组。 要清楚: DWORD x[n+1] = { LSW, ……, MSW }; 其中n + 1是使用的DWORD的数量 所以数值x = x [0] + x [1] << 32 + … x [N] << 32 *(n) 问题是: 如何在没有精确度损失的情况下尽可能快地计算y = x ^ 2? – 使用C ++和整数算术(32位与进位)。 我目前的做法是应用乘法,y = x * x,并避免多重乘法。 例如: x = x[0] + x[1]<<32 + … […]