小编Joh*_*ann的帖子

openCv裁剪图像

我遇到了openCv IplImage裁剪的问题.假设tmp和img都是IplImage*.使用代码:

printf("Orig dimensions: %dx%d\n", img->width, img->height);
cvSetImageROI(img, cvRect(0, 0,500,500));
tmp = cvCreateImage(cvGetSize(img),img->depth,img->nChannels);
cvCopy(img, tmp, NULL);
cvResetImageROI(img);
img = cvCloneImage(tmp);
printf("Orig dimensions after crop: %dx%d\n", tmp->width, tmp->height);
Run Code Online (Sandbox Code Playgroud)

当我使用上面的cvRect时,我会得到一个像预期的那样裁剪尺寸为500 x500的图像,但是当我使用rect(400,400,500,500)时,我会得到尺寸为500 X 320的图像.

c++ opencv crop iplimage

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

Perl Regex多重匹配

我正在寻找一个表现如下的正则表达式:

输入:"你好世界".

输出:he,el,ll,lo,wo或rl,ld

我的想法是有道理的

    while($string =~ m/(([a-zA-Z])([a-zA-Z]))/g) {
        print "$1-$2 ";
    }
Run Code Online (Sandbox Code Playgroud)

但这确实有点不同.

regex perl backreference

5
推荐指数
2
解决办法
6891
查看次数

通过值传递vs传递Perl哈希的引用

我正在使用子程序来制作一些不同的哈希映射.我目前正在通过引用传递hashmap,但是多次执行时会出现这种情况.我应该按值传递哈希值还是传递哈希引用?

use strict;
use warnings;

sub fromFile($){
    local $/;
    local our %counts =();
     my $string = <$_[0]>;
    open FILE, $string or die $!;
    my $contents = <FILE>;
    close FILE or die $!;

    my $pa = qr{
        ( \pL {2} )
        (?{
            if(exists $counts{lc($^N)}){
                $counts{lc($^N)} = $counts{lc($^N)} + 1;
            }
            else{
                $counts{lc($^N)} = '1';
            }
        })
        (*FAIL)
    }x;

     $contents =~ $pa;

    return %counts;

}

sub main(){
    my %english_map = &fromFile("english.txt");
    #my %german_map = &fromFile("german.txt");
}

main();
Run Code Online (Sandbox Code Playgroud)

当我单独运行不同的txt文件时,我没有遇到任何问题,但两者都有一些冲突.

perl hash pass-by-reference pass-by-value

5
推荐指数
2
解决办法
6255
查看次数