小编Nat*_*han的帖子

如何使用PHP中的Imagemagick修剪图像的左侧和右侧?

我正在尝试使用ImageMagick和PHP在左侧和右侧的图像中修剪可变数量的空白.有谁知道怎么做(也许使用imagemagick以外的东西?)?

这是一个例子.

我有这两个图像:
测试
再次测试
每个都有一个可变数量的文本,在固定宽度的图像中动态创建.我需要做的是修剪右侧和左侧的背景,使图像像这样:
测试结果
再次测试结果

如果ImageMagick不能这样做,我愿意使用别的东西,但我需要帮助的确切原因,因为我不是一个程序员.谢谢!

这是我当前的代码修剪图像的所有边:

<?php
/* Create the object and read the image in */
$i = '3';
$im = new Imagick("test".$i.".png");

/* Trim the image. */
$im->trimImage(0);

/* Ouput the image */
//header("Content-Type: image/" . $im->getImageFormat());
//echo $im;
/*** Write the trimmed image to disk ***/
$im->writeImage(dirname(__FILE__) . '/test'.$i.'.png');
/*Display Image*/
echo $img = "<img src=\"test".$i.".png\">";
?>
Run Code Online (Sandbox Code Playgroud)

php imagemagick

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

分裂高棉语的可行解决方案?

我正在研究将高棉语(柬埔寨语)的长行分成单个单词(UTF-8)的解决方案.高棉语不会在单词之间使用空格.有一些解决方案,但它们远远不够(这里这里),那些项目已经落伍了.

以下是需要拆分的高棉样本行(它们可能比这更长):

ចូរសរសើរដល់ទ្រង់ទ្រង់បានប្រទានទាំងអស់នោះមកដល់រូបដោយព្រោះអង្គព្រះយេស៊ូវហើយដែលមិនអាចរកការទាំងអស់នោះដោយសារការប្រព្រឹត្តរបស់អ្នកឡើយឡើយ.

创建分裂高棉语的可行解决方案的目标有两个:它将鼓励那些使用高棉遗留(非Unicode)字体转换为Unicode(具有许多好处)的人,并且它将使遗留的高棉语字体能够被导入进入Unicode以快速使用拼写检查器(而不是手动浏览和分割单词,使用大文档,可能需要很长时间).

我不需要100%的准确度,但速度很重要(特别是因为需要分成高棉语的行可能很长).我愿意接受建议,但目前我有一大堆高棉语单词正确分割(有一个不间断的空格),我创建了一个单词概率词典文件(frequency.csv)作为字典用于分词器.

我在这里发现这个使用Viterbi算法的 python代码,它应该运行得很快.

import re
from itertools import groupby

def viterbi_segment(text):
    probs, lasts = [1.0], [0]
    for i in range(1, len(text) + 1):
        prob_k, k = max((probs[j] * word_prob(text[j:i]), j)
                        for j in range(max(0, i - max_word_length), i))
        probs.append(prob_k)
        lasts.append(k)
    words = []
    i = len(text)
    while 0 < i:
        words.append(text[lasts[i]:i])
        i = lasts[i]
    words.reverse()
    return words, probs[-1]

def word_prob(word): return dictionary.get(word, 0) / total
def words(text): return re.findall('[a-z]+', …
Run Code Online (Sandbox Code Playgroud)

python nlp word-boundary text-segmentation southeast-asian-languages

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

Windows中的Grep和Awk表达式错误中的无效字符

我是grep和awk的新手 - 使用Windows 7(我从GnuWin下载了grep和awk for windows).

我在运行此脚本时遇到问题:

grep -Fwf dictionary.txt frequency.txt | awk '{print $2 "," $1}'
Run Code Online (Sandbox Code Playgroud)

我收到错误:

awk:'{print
awk:^表达式中的无效字符'''

我相信它可能与必须在Windows中使用双引号有关,但我尝试了所有我能想到的组合,但它仍然不起作用.

有人可以帮忙吗?谢谢

windows awk grep gnuwin32

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

列出Google表格中的工作表名称,然后跳过前两个

我找到了代码来列出Google表格中所有表格的名称(从这里开始):

function SheetNames() { // Usage as custom function: =SheetNames( GoogleClock() )
try {
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
  var out = new Array( sheets.length+1 ) ;
  //out[0] = [ "Name" , "gid" ];
  for (var i = 1 ; i < sheets.length+1 ; i++ ) out[i] = [sheets[i-1].getName()];
  return out
}
catch( err ) {
  return "#ERROR!" 
}
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何修改脚本以跳过前两个工作表名称并开始填充调用脚本的单元格中的列表?

我尝试更改为var i = 1,var i = 3并确实跳过前两个工作表名称,但它也创建为空白单元格.如何跳过前两个工作表名称而不创建任何空白单元格?

google-sheets google-apps-script google-spreadsheet-api

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

需要RegExpr建议 - 除了数字(0-9)和"/"之外,从字符串中删除所有字符

我需要一些使用RegExp对象的建议.

它应该只返回数字和变量val中的字符"/"...我在RegExp对象中没有经验 - 这是我到目前为止所得到的:

var val = $('.gallerystatus input').val();

var regExpr = new RegExp("^\d*\.?\d*$");

$('.gallerystatus input').val(  only 0-9 and "/"  );
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议!

javascript regex

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

为什么这个Java代码没有用#跳过?

我是一个新手,但我试图允许Java脚本读取的外部.txt文件能够在文件的开头有一些注释,以便其他人可以轻松编辑它并添加更多内容.但是如果文件包含#(为一行注释指定的符号),它只返回错误,即文件中存在"格式错误"(IOException - 所以它超过了第一个"IF"... )有人可以帮忙吗?

以下是代码部分,用于处理在脚本中先前调用的.txt文件中的注释行:

   while ((line = br.readLine()) != null) {
    line = line.trim();
    if (line.length() < 1 || line.charAt(0) == '#') { // ignore comments
     continue;
    }
    final String[] parts = line.split("=");
    if (parts.length != 2) {
     throw new IOException("Format error in file "
       + JLanguageTool.getDataBroker().getFromRulesDirAsUrl(getFileName())
       + ", line: " + line);
    }
Run Code Online (Sandbox Code Playgroud)

input.txt文件在第一行中断它:

#This is a Test
???|???=???
?????=??????
???????=??????
Run Code Online (Sandbox Code Playgroud)

这是实际的错误:

Caused by: java.io.IOException: Format error in file
Run Code Online (Sandbox Code Playgroud)

file:/ D:/ Documents ......./coherency.txt,line:#This is rule at rules.km.KhmerSimpleReplaceRule.loadWords(KhmerSimpleReplaceRule.java:165)at rules.km.KhmerSimpleReplaceRule.loadWords( …

java file-io

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

Perl脚本从大型Unicode文本文件中删除所有英语

我仍然是bash和perl之类的新手,需要一些任务帮助.我正准备(添加和编辑)一个大型高棉语Unicode语料库,用于ICU高棉语破解的补丁.

到目前为止,我一直无法找到一个稳定的解决方案来自动删除所有英文字母和标点符号(只留下高棉语).

我被告知Perl可能是要走的路,但我不知道从哪里开始(我不是真正的程序员).

我过去使用过bash脚本,但结果并不完美(我最终必须手动检查列表并删除非高棉字符).

以下是我过去的一些建议:

LC_ALL=POSIX sort khmerdict.txt | sed '/[[:punct:]]/d' > khmer-sorted.txt
Run Code Online (Sandbox Code Playgroud)

哪个应该删除标点...但由于某种原因它删除了我的文件中的很多行,所以它是无用的.

还有这个:

sed -e 's/[a-zA-Z]//g' -e 's/?/ /g' -e 's/\t/ /g' -e 's/[«|»|:|;|.|,|(|)|-|?|?|”|“]//g' -e 's/[0-9]//g' -e 's/ /\n/g' -e 's/?//g' -e 's/?//g' -e 's/?//g' -e 's/?//g' -e 's/?//g' -e 's/?//g' -e 's/?//g' -e 's/?//g' -e 's/?//g' -e 's/?//g' dictionary.txt | \
Run Code Online (Sandbox Code Playgroud)

这是另一个尝试删除英文字母,标点符号以及所有高棉编号...但就像我说的那样,它没有完美准确的工作.

有没有人知道一个稳定的解决方案,这将适用于高棉Unicode?也许有一种方法可以使用一系列Unicode字符(高棉Unicode映射PDF)删除所有内容?

如果您想在字典上尝试一些东西,可以在这里下载测试版本:http://www.sbbic.org/Khmer-Unicode-Wordlist.zip

这里有一个简短的列表:

?????
--
?????
???????
}
é
"?????
"???"
"?"
"?"
?????--
–??????
??????ahead
?????
Run Code Online (Sandbox Code Playgroud)

谢谢,内森

unicode bash perl

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