我在方括号内有大块字符串,如下所示:
[p1 text1/label1] [p2 text2/label2] [p3 text3/label3] [...
Run Code Online (Sandbox Code Playgroud)
等等.
每个块内部的内容并不重要.但有时会有一些没有方括号包围的杂散文本块.例如:
[p1 text1/label1] [p2 text2/label2] textX/labelX [p3 text3/label3] [...] textY/labelY textZ/labelZ [...]
Run Code Online (Sandbox Code Playgroud)
我以为我用Perl中的正则表达式解决了这个问题,直到我意识到我只是迎合了文本的开头,中间或末尾有一个流浪文本的情况,但不是我们可能有两个流浪案件在一起.(比如上面的Y和Z块).
所以我意识到perl中的正则表达式只捕获第一个匹配模式?那怎么可以解决上面的问题呢?
问题是确保所有都应该用括号括起来.方括号永远不会递归.用括号括住短语时,p值取决于"标签"值.例如,如果一个流浪的未括号的短语是
li/IN
Run Code Online (Sandbox Code Playgroud)
然后它应该变成:
[PP li/IN]
Run Code Online (Sandbox Code Playgroud)
我想这是一个混合,但我能想到解决我正在研究的更大问题的唯一方法是将所有这些问题变成括号中的短语,这样处理就更容易了.所以如果在开头,中间和结尾都有一个没有括号的短语,我就可以使用它,但如果两个或多个一起发生则不会.
我基本上为每个位置(开始,中间和结束)使用了不同的正则表达式.在中间捕获一个未加括号的短语的那个看起来像这样:
$data =~ s/\] (text)#\/label \[/\] \[selected-p-value $1#\/label\] \[/g;
Run Code Online (Sandbox Code Playgroud)
所以我正在做的只是注意到如果一个]出现在文本/标签模式之前和之后,那么这个没有括号.我也为其他人做类似的事情.但我想这是非常不通用的.我的正则表达不是很好!
当我在CSS文件中使用@import规则添加google网络字体时,它可以正常工作.
但是当我下载该字体并将其本地存储在我的服务器中然后将@ font-face规则指向我自己的机器时,它不起作用.
所以我做的是在我的css/fonts.css文件中替换这一行:
@import url(http://fonts.googleapis.com/css?family=Michroma);
Run Code Online (Sandbox Code Playgroud)
有了这个:
@font-face {
font-family: 'Michroma';
font-style: normal;
font-weight: 400;
src: url(http://localhost/xampp/mysite/css/fonts/michroma/micrhoma.woff) format('woff');
}
Run Code Online (Sandbox Code Playgroud)
换句话说,我只是从googleapi复制了该字体的代码.我将字体文件(.woff)保存在上面的路径中(我已经重新检查过,确实存在).
我也试过编辑这个网址,但没有好处:
src: url(fonts/michroma/michroma.woff) format('woff');
Run Code Online (Sandbox Code Playgroud)
我无法相信,如果我们在本地使用谷歌网络字体,谷歌网络字体将无法正常工作,所以我所做的事情肯定有问题.线索?这不是我们如何定义自己的字体面孔吗?(我以前从未尝试过).
我有一个完整的字符串数组的ArrayList,我这样构建:
String[] words = new String[tokens.length];
Run Code Online (Sandbox Code Playgroud)
我的ArrayList中有三个如上所示的数组:
surroundingWords.add(words);
surroundingWords.add(words1);
surroundingWords.add(words2);
Run Code Online (Sandbox Code Playgroud)
等等
现在,如果我想在aroundWords中打印出String数组中的元素......我不能.我可以最接近显示String []数组的内容是它们的地址:
[Ljava.lang.String;@1888759
[Ljava.lang.String;@6e1408
[Ljava.lang.String;@e53108
Run Code Online (Sandbox Code Playgroud)
我尝试了很多不同版本的东西似乎是一样的,最后一次尝试是:
for (int i = 0; i < surroudingWords.size(); i++) {
String[] strings = surroundingWords.get(i);
for (int j = 0; j < strings.length; j++) {
System.out.print(strings[j] + " ");
}
System.out.println();
}
Run Code Online (Sandbox Code Playgroud)
由于类型不兼容,我无法理解:
found : java.lang.Object
required: java.lang.String[]
String[] strings = surroundingWords.get(i);
^
Run Code Online (Sandbox Code Playgroud)
救命!
我已经尝试过这里的解决方案:打印和访问列表
我已经搜索了如何使用setTimeOutfor循环,但是没有很多关于如何将它与while循环一起使用,我不明白为什么应该有很多不同.我已经编写了以下代码的一些变体,但是这个循环似乎使浏览器崩溃:
while(src == '')
{
(function(){
setTimeout(function(){
src = $('#currentImage').val();
$("#img_"+imgIdx).attr('src',src);
}, 500);
});
}
Run Code Online (Sandbox Code Playgroud)
为什么?
基本上我有一个动态创建的图像,其源属性有时需要加载,所以在我显示它之前,我需要继续检查它是否已加载,并且只有当它的路径可用时$('#currentImage'),我才能显示它.
在我使用while循环之前,这个代码工作正常,当我直接执行时
setTimeout(function(){
src = $('#currentImage').val();
$("#img_"+imgIdx).attr('src',src);
}, 3000);
Run Code Online (Sandbox Code Playgroud)
但是我不想让用户等待3秒钟,如果加载可能会更快,因此我把setTimeOut一个while循环并缩短它的间隔,所以我只检查每半秒加载的路径.这有什么问题?
我正在尝试动态更新PayPal托管按钮,但收到错误
The button type specified is invalid.
Run Code Online (Sandbox Code Playgroud)
我使用PPHttpPost函数(可能没什么问题),取自这里:https://www.x.com/paypal-apis-dodirectpayment-php-5.3/nvp ,我刚刚删除了所有nvp变量,除了API签名,密码等.
这是我使用ButtonManager的代码:
// Set request-specific fields.
$nvpStr = "&HOSTEDBUTTONID=buynow&BUTTONCODE=HOSTED&AMT=330.66&BUTTONTYPE=BUYNOW";
// Execute the API operation; see the PPHttpPost function above.
$httpParsedResponseAr = PPHttpPost('BMUpdateButton', $nvpStr);
var_dump($httpParsedResponseAr);
?>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
当我从请求字符串中删除HOSTEDBUTTONID并输出完整的NVP字符串时,我得到了这个(用隐藏字符替换了一些带有下划线的字符):
METHOD=BMUpdateButton&VERSION=98.0&PWD=1362320204&USER=___._1362320167_biz_api1.gmail.com&SIGNATURE=________________&BUTTONCODE=HOSTED&AMT=330.66
Run Code Online (Sandbox Code Playgroud) 所以我遇到了很多关于OpenCV的haartraining和级联培训工具的教程.特别是我有兴趣使用createsamples工具训练汽车分类器,但是关于-w和-h参数的地方似乎存在冲突的声明,所以我很困惑.我指的是这个命令:
$ createsamples -info samples.dat -vec samples.vec -w 20 -h 20
Run Code Online (Sandbox Code Playgroud)
我有以下三个问题:
我知道正样本的宽高比应该与从上面的-w和-h参数得到的宽高比相同.但是,所有正样本的-w和-h参数也必须是相同的大小吗?例如.我有接近1000张图片.裁剪后所有尺寸都必须相同吗?
如果不是大小而是纵横比,那么与OpenCV工具中提到的-w和-h参数相比,正面样本的纵横比必须精确匹配吗?我的意思是,分类器是非常敏感的,所以即使是这里和那里的几个像素也会影响它的性能?或者你会说使用图像是安全的,只要它们的眼睛比例大致相同.
我已经裁剪了几张相同尺寸的图像.但是在尝试使它们具有相同的大小时,它们中的一些在边界框中包含的背景比其他的更多,并且一些具有略微不同的边缘.(例如,请看下面的两张图片.较大的汽车占据了更多的图像,但较小的汽车周围有更宽的余量).我只是想知道是否有这样的图像集合是好的,或者它是否会降低分类器的准确性,因此我应该确保所有感兴趣的对象(在这种情况下,汽车)周围更紧的边界框?

opencv classification image-processing computer-vision training-data
我有一个numpy数组,我可以使用append简单地追加一个项目,如下所示:
numpy.append(myarray, 1)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我只是附加了整数1.
但这是附加到阵列的最快方法吗?我有一个非常长的阵列,成千上万.
或者更好的索引数组并直接分配它?像这样:
myarray[123] = 1
Run Code Online (Sandbox Code Playgroud) 我必须自动对PDF文档进行预检检查.预检包括:
只是想知道是否可以使用PoDoFo或其他任何开源项目来完成.或者,如果我真的需要订购一些介于$ 2K到$ 6K之间的专有软件.我的托管环境在Linux上,支持PHP,Perl,Python,Ruby,Java.
有任何想法吗?
我已经看过这个:剪裁PhantomJS屏幕截图大小适合内容,但它不是我想要的.
我在屏幕上有一个600x348像素的元素,想要在5cmx9cm的PDF上捕获它,但似乎我需要做一些缩放以获得我想要的东西.即使这样,它也不是很准确.无论如何都要在打印机上获得收缩效果吗?
我已经制作了一个可以识别大型车辆(公共汽车和卡车)的分类器(基于HoG功能).但我希望能够区分公共汽车和卡车.这导致问题,因为两辆车都很大而且很长.以下是我的培训数据中的一个示例:


正如你所看到的那样,从同一个角度来看,这是一辆卡车和一辆公共汽车,但是分类器并没有将它们视为不同.
鉴于我已经构建了我的分类器,是否有一种简单的方法(无需重建现有的分类器),我可以将其添加为区分卡车和公共汽车的第二阶段?
我正在考虑以某种方式匹配SIFT功能匹配...以捕获前面突出的卡车头.但我之前没有使用它,也不确定它是否适用于此.
classification object-detection computer-vision haar-classifier
arrays ×2
printing ×2
string ×2
arraylist ×1
css ×1
dereference ×1
font-face ×1
fonts ×1
import ×1
java ×1
javascript ×1
numpy ×1
opencv ×1
optimization ×1
paypal ×1
paypal-nvp ×1
pdf ×1
perl ×1
phantomjs ×1
php ×1
podofo ×1
preflight ×1
python ×1
regex ×1
settimeout ×1
while-loop ×1