小编joh*_*jik的帖子

Java中的爆炸和内爆(就像PHP一样)

我是Java新手,虽然在PHP方面有很好的经验,并且正在寻找Java中爆炸和内爆(可用PHP)功能的完美替代品.

我用谷歌搜索了同样但对结果不满意.任何人都有我的问题的良好解决方案将不胜感激.

例如:

String s = "x,y,z";
array a = javaExplode(',',s);  //what is javaExplode??
System.out.println(Arrays.toString(a));
Run Code Online (Sandbox Code Playgroud)

期望的输出:

[x, y, z]
Run Code Online (Sandbox Code Playgroud)

java arrays string split

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

如何在OpenCV中捕获桌面(即将位图转换为Mat)?

我想使用OpenCV来处理我的桌面,就好像它是一个视频流.
我熟悉OpenCV.
我不熟悉Windows API.我意识到还有其他方法来捕获屏幕,但出于我的问题的目的,我需要使用OpenCV来完成它.

这是我的(超级天真)代码:

HWND hDesktopWnd;
HDC hDesktopDC;
hDesktopWnd=GetDesktopWindow();
hDesktopDC=GetDC(hDesktopWnd);

// get the height and width of the screen
int height = GetSystemMetrics(SM_CYVIRTUALSCREEN);
int width = GetSystemMetrics(SM_CXVIRTUALSCREEN);

// create a bitmap
HBITMAP hbDesktop = CreateCompatibleBitmap( hDesktopDC, width, height);

Mat src(height,width,CV_8UC4);
src.data = (uchar*)hbDesktop;

imshow("output",src);  //fails :(
Run Code Online (Sandbox Code Playgroud)

StackOverflow也有类似的问题,但它们要么是旧式OpenCV,要么是Android操作系统.
我在Windows 7 64x
Opencv 2.4.3上

谢谢任何能回答这个问题的人.

desktop opencv bitmap mat

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

Opencv - filter2D()方法实际上如何工作?

我确实在寻找Filter2D的源代码,却找不到它.Visual c ++也不行.这里有filter2D算法的专家吗?我知道它应该如何工作,但不知道它是如何工作的.我创建了自己的filter2d()函数来测试事物,结果与opencvs filter2D()有很大的不同.这是我的代码:

Mat myfilter2d(Mat input, Mat filter){

Mat dst = input.clone();
cout << " filter data successfully found.  Rows:" << filter.rows << " cols:" << filter.cols << " channels:" << filter.channels() << "\n";
cout << " input data successfully found.  Rows:" << input.rows << " cols:" << input.cols << " channels:" << input.channels() << "\n";

for (int i = 0-(filter.rows/2);i<input.rows-(filter.rows/2);i++){
    for (int j = 0-(filter.cols/2);j<input.cols-(filter.cols/2);j++){  //adding k and l to i and j will make up …
Run Code Online (Sandbox Code Playgroud)

c++ opencv computer-vision

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

失败了最简单的cv2.remap()测试,又名.我如何在python中使用remap()?

这是remap()最简单的测试用例:

import cv2
import numpy as np
inimg = np.arange(2*2).reshape(2,2).astype(np.float32)
inmap = np.array([[0,0],[0,1],[1,0],[1,1]]).astype(np.float32)
outmap = np.array([[10,10],[10,20],[20,10],[20,20]]).astype(np.float32)
outimg = cv2.remap(inimg,inmap,outmap,cv2.INTER_LINEAR)
print "inimg:",inimg
print "inmap:",inmap
print "outmap:",outmap
print "outimg:", outimg
Run Code Online (Sandbox Code Playgroud)

这是输出:

inimg: [[ 0.  1.]
 [ 2.  3.]]
inmap: [[ 0.  0.]
 [ 0.  1.]
 [ 1.  0.]
 [ 1.  1.]]
outmap: [[ 10.  10.]
 [ 10.  20.]
 [ 20.  10.]
 [ 20.  20.]]
outimg: [[ 0.  0.]
 [ 0.  0.]
 [ 0.  0.]
 [ 0.  0.]]
Run Code Online (Sandbox Code Playgroud)

如你所见,outimg产生0,0,它甚至没有正确的形状.我期望20x20或10x10图像的插值从0到3.

我已经阅读了所有文档.它和SO上的每个人都会输入一个起始点的数组(地图),一个结束点的地图,然后重映射()会将img中的所有值放入新的位置,插入任何空白空间.我这样做,但它不起作用.为什么?大多数示例都适用于C++.它在python中被打破了吗?

python opencv remap

11
推荐指数
2
解决办法
9920
查看次数

是否有运动/3D 重建结构的最小、完整、有效的示例?

就像问题所说的那样,我正在寻找一个完整的、最小的、运动结构(又名 3D 重建)管道的工作示例。

我马上说我没有相机参数。我不知道焦距或相机内部结构。因此,90% 的示例/教程都是 无效 的。

关于这个主题有很多问题,但代码只是片段,而不是完整的 SfM 过程。许多指令是矛盾的,或者只是猜测,并且开源外部库很难遵循。

所以我正在寻找一个简短的、完整的、最小的、可行的示例。最重要的是工作要求,因为太多的代码会产生不好的结果。

我已经用下面的代码对其进行了尝试。我使用匹配对的合成数据,因此没有噪音或不良对应问题需要解决。目标是从 2 个视图重建一个立方体(8 个 3d 点),每个视图有 8 个 2d 点。然而,最终的结果却很糟糕。没有立方体形状的外观。(我尝试过标准化和集中数据,这不是问题)。

任何能够提供更好的最小工作示例,或者指出我的尝试有什么问题的人,我们将不胜感激。

import cv2
import numpy as np
import scipy.linalg


def combineTR(T,R):  #turn a translation vector and a rotation matrix into one 3x4 projection matrix
    T4 = np.eye(4)
    T4[:3, 3] = T  # make it 4x4 so we can dot product it
    R4 = …
Run Code Online (Sandbox Code Playgroud)

python opencv 3d-reconstruction fundamental-matrix

10
推荐指数
0
解决办法
1290
查看次数

Antlr4-有使用ParseTree Walker的简单示例吗?

Antlr4有一个新类ParseTreeWalker。但是我该如何使用呢?我正在寻找一个最小的工作示例。我的语法文件是“ gram.g4”,我想解析文件“ program.txt”

到目前为止,这是我的代码。(这假设ANTLR已经运行了我的语法文件并创建了所有gramBaseListenergramLexer等):

import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.tree.*;
import static org.antlr.v4.runtime.CharStreams.fromFileName;

public class launch{
public static void main(String[] args) {

    CharStream cs = fromFileName("gram.g4");  //load the file
    gramLexer lexer = new gramLexer(cs);  //instantiate a lexer
    CommonTokenStream tokens = new CommonTokenStream(lexer); //scan stream for tokens
    gramParser parser = new gramParser(tokens);  //parse the tokens

    // Now what??  How do I connect the above with the below? 

    ParseTreeWalker walker = new ParseTreeWalker();  // how do I use this to …
Run Code Online (Sandbox Code Playgroud)

java antlr4

8
推荐指数
1
解决办法
4215
查看次数

Java,如何用字符串中的美元符号替换单词?

我可以通过使用Matcher.quoteReplacement. 我可以通过添加边界字符替换单词来替换美元符号:

from = "\\b" + from + "\\b"; 
outString = line.replaceAll(from, to);
Run Code Online (Sandbox Code Playgroud)

但我似乎无法将它们结合起来用美元符号代替单词.

这是一个例子.我试图用" $temp4" 替换" "(NOT $temp40)register1.

        String line = "add, $temp4, $temp40, 42";
        String to = "register1";
        String from = "$temp4";
        String outString;


        from = Matcher.quoteReplacement(from);
        from = "\\b" + from + "\\b";  //do whole word replacement

        outString = line.replaceAll(from, to);
        System.out.println(outString);
Run Code Online (Sandbox Code Playgroud)

输出

"add, $temp4, $temp40, 42"
Run Code Online (Sandbox Code Playgroud)

如何让它替换$ temp4和$ temp4?

java regex replaceall

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

我如何处理基本矩阵?

我正在尝试从多个 2d 图像重建 3d 形状。我已经计算了一个基本矩阵,但现在我不知道如何处理它。

我在堆栈溢出和学术论文中发现了多个相互矛盾的答案。例如,Here说您需要从基本矩阵计算旋转和平移矩阵。

这里说你需要找到相机矩阵。

这里说你需要找到同形异义词。

这里说你需要找到对极线。

是哪个??(我该怎么做?我读过H&Z 的书,但我不明白。它说我可以“轻松”使用结果 9.14 中的“直接公式”,但结果 9.14 既不容易也不容易理解。)

堆栈溢出需要代码,所以这是我目前所拥有的:

    # let's create some sample data

    Wpts = np.array([[1, 1, 1, 1],  # A Cube in world points
                     [1, 2, 1, 1],
                     [2, 1, 1, 1],
                     [2, 2, 1, 1],
                     [1, 1, 2, 1],
                     [1, 2, 2, 1],
                     [2, 1, 2, 1],
                     [2, 2, 2, 1]])


    Cpts = np.array([[0, 4, 0, 1],  #slightly up
                     [4, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

python 3d opencv matrix fundamental-matrix

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

C++ - 如何在我的数组中放置一个静态数组?

我为总noob问题道歉,但我找不到答案.我用谷歌搜索,在这里搜索,搜索C++数组文档,以及一些C++数组教程.
问题很简单.为什么

#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
      short pixelarray[3][3] = {{1,1,1},{0,0,0},{-1,-1,-1}};
      ... //do stuff.  Imagine a loop here, and BIG array - I'm just simplifying it for StackOverflow
      pixelarray = {{1,0,-1},{1,0,-1},{1,0,-1}};

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

导致错误?

1>arraytest.cpp(11): error C2059: syntax error : '{'
Run Code Online (Sandbox Code Playgroud)

如何在我的数组中放置一个静态数组?我意识到我可以单独设置每个项目,但必须有更好的方法.

c++ arrays

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

为什么CreateCompatibleBitmap在大约一千次执行后失败?

我正在尝试编写一个屏幕捕获/记录应用程序.以下是捕获屏幕并保存的代码部分:

width = GetSystemMetrics(SM_CXMAXTRACK)+8;
height = GetSystemMetrics(SM_CYMAXTRACK)-8;

hwindowDC=GetDC(GetDesktopWindow());
hwindowCompatibleDC=CreateCompatibleDC(hwindowDC);
SetStretchBltMode(hwindowCompatibleDC,COLORONCOLOR);  

// create a bitmap
hbwindow = CreateCompatibleBitmap( hwindowDC, width, height);
cout << " handle to newly created bitmap: " << hbwindow << "\n";

SelectObject(hwindowCompatibleDC, hbwindow); //copy from hwindowCompatibleDC to hbwindow
StretchBlt( hwindowCompatibleDC, 0,0, width, height, hwindowDC, 0, 0,width,height, SRCCOPY); //change SRCCOPY to NOTSRCCOPY for wacky colors !

src.create(height,width,CV_8UC4);   
src.empty();
GetDIBits(hwindowCompatibleDC,hbwindow,0,height,src.data,(BITMAPINFO *)&bi,DIB_RGB_COLORS); 


DeleteDC(hwindowCompatibleDC); 
DeleteObject(hbwindow);
Run Code Online (Sandbox Code Playgroud)

经过一千次左右的重复,我的cout语句将显示新创建的句柄为000000000000000 aka.空值.我的应用程序工作正常,直到那一点
我每次都删除创建的DC和位图,因此没有内存泄漏.任务管理器还确认没有内存泄漏.那么发生了什么?

感谢任何可以提供帮助的人.

c++ bitmap

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

如何在 Chrome 扩展程序中使用 promises?

我想要做的是创建一个 chrome 扩展,它使用promises创建新的、嵌套的、书签文件夹。

执行此操作的函数是chrome.bookmarks.create()。但是我不能只循环这个函数,因为 chrome.bookmarks.create 是异步的。我需要等到创建文件夹并获取其新 ID,然后再继续处理其子项。

承诺似乎是要走的路。不幸的是,我找不到使用异步调用及其自己的回调(如chrome.bookmarks.create)的最小工作示例

我已经阅读了一些教程1234。我已经搜索过 stackOverflow,但所有的问题似乎都不是关于 chrome 扩展库的普通承诺。

我不想使用插件或库:没有 node.js 或 jquery 或 Q 或其他。

我尝试按照教程中的示例进行操作,但很多事情没有意义。例如,教程指出:

promise 构造函数接受一个参数——一个带有两个参数的回调:resolve 和 reject。

但后来我看到这样的例子:

const wait = ms => new Promise(resolve => setTimeout(resolve, ms));

这是如何运作的对我来说是个谜。

另外,当它从未被定义时,你怎么能调用resolve()?教程中的示例似乎没有与现实生活中的代码相匹配。另一个例子是:

function isUserTooYoung(id) {
   return openDatabase() // returns a promise   
.then(function(col) {return find(col, {'id': id});})
Run Code Online (Sandbox Code Playgroud)

我如何通过col,或得到任何结果!

因此,如果有人能给我一个带有自己回调的异步函数的 Promise 的最小工作示例,我将不胜感激。

所以想要代码,所以这是我的非工作尝试:

//loop through all
function createBookmarks(nodes, …
Run Code Online (Sandbox Code Playgroud)

extension-methods google-chrome google-chrome-extension promise

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