小编Ken*_*Y-N的帖子

如何使用轮廓保存 OpenCV 图像

我想用轮廓保存图像

这是我的代码:

img = cv2.imread('123.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, binary = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY)
image, contours, _ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

for cnt in contours:
    # some code in here
    cv2.imwrite('234.jpg', cnt)
Run Code Online (Sandbox Code Playgroud)

非常感谢。

python cv2

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

防止单引号在.Click中的image_tag中转义

我在ERB文件中有这行代码:

<% image_tag("foo.png", :onClick => "do_x('param')") %>
Run Code Online (Sandbox Code Playgroud)

这会产生错误的HTML:

<img src="/assets/foo.png" onClick="do_x(&#27;param&#27;)" />
Run Code Online (Sandbox Code Playgroud)

我尝试过使用:

<% raw image_tag("foo.png", :onClick => "do_x('param')") %>
Run Code Online (Sandbox Code Playgroud)

但这没有任何区别.我正在运行Rails 3.2.14.

ruby-on-rails erb

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

C++模板 - 错误:在'<'标记之前的预期初始化程序

我正在尝试学习模板,我希望我的类对能够容纳任何类型的两个对象.我现在只想为obj1提供一个访问器功能.但是当我尝试complile时,我收到以下错误:

error: expected initializer before '<' token
    T1 pair<T1,T2>::getObj1()
Run Code Online (Sandbox Code Playgroud)

我的代码是:

#include <iostream>
#include <stdio.h>
#include <string.h>

using namespace std;

template <class T1, class T2>
class pair
{
  public:
    pair(const T1& t1, const T2& t2) : obj1(t1), obj2(t2){};

    T1 getObj1();

  private:
    T1 obj1;
    T2 obj2;
};

template <class T1, class T2>
T1 pair<T1,T2>::getObj1()
{
    return obj1;
}



int main()
{
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

这是封装派生类的好方法吗?

我有以下课程:

public class Base{

    private static class Derived extends Base{ }
    private static class SuperDerived extends Base{ }

    public static Base createDerived(){ return new Derived(); }
    public static Base createSuperDerived(){ return new SuperDerived(); }
}
Run Code Online (Sandbox Code Playgroud)

我不希望这些派生类直接在Base类主体之外使用.

这是一个很好的方法吗?我不确定那个东西,因为派生的那些可能包含100行代码,可能会使Base类难以理解.

java class

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

让 Jenkins 对远程用户不可见

我在本地 Windows 设备上有一个 Jenkins 服务器,但我想让它对外界不可见(关于服务器的办公室规则)。一个显而易见的方法,效果令人满意,是设置防火墙规则来阻止对其端口的传入访问,但我觉得必须有一个 Jenkins 设置来阻止它向除本地主机之外的任何人宣传其服务。谁能告诉我有没有

请注意,设置用户凭据不是有效的解决方案,因为服务器可见但未经登录无法访问仍然违反办公规则。

windows remote-access jenkins

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

SSE是多余还是气馁?

在这里和互联网上,我可以找到很多关于现代编译器在许多实际情况下击败SSE的帖子,我刚刚在一些代码中遇到过我在2006年为基于整数的图像处理编写的一些SSE代码并将代码强制降低标准C分支,运行速度更快.

在具有多核和高级流水线等的现代处理器上,较旧的SSE代码是否表现不佳gcc -O2

optimization sse simd auto-vectorization

4
推荐指数
2
解决办法
1638
查看次数

在std :: bind中使用std :: bind:编译错误(隐式强制转换)

当我想创建一个用于包装work(..)成员的std :: function时,我遇到了一个让我疲惫的编译错误.

示例代码:

class C{ 
public:
    C(){
        std::function<void(void) > f = std::bind(&C::work,
                                                 this,
                                                 std::bind(&C::step1, this),
                                                 std::bind(&C::step2, this));
        QList<decltype(f)> lst;
        lst.append(f);
        .....
    }
private:
    void work(std::function<bool()> fn1, std::function<bool()> fn2 ) {
        if (fn1()) {
            QTimer::singleShot(1, fn2);
        }
        else {
            QTimer::singleShot(5, fn1);
        }
    }

    bool step1(){return true;}
    bool step2(){return true;}
};
Run Code Online (Sandbox Code Playgroud)

编译错误:

main.cpp:49: erreur : conversion from 'std::_Bind_helper<false, void (C::*)(std::function<bool()>, std::function<bool()>), C* const, std::_Bind<std::_Mem_fn<bool (C::*)()>(C*)>, std::_Bind<std::_Mem_fn<bool (C::*)()>(C*)> >::type {aka std::_Bind<std::_Mem_fn<void (C::*)(std::function<bool()>, std::function<bool()>)>(C*, std::_Bind<std::_Mem_fn<bool (C::*)()>(C*)>, std::_Bind<std::_Mem_fn<bool (C::*)()>(C*)>)>}' to non-scalar type 'std::function<void()>' requested …
Run Code Online (Sandbox Code Playgroud)

c++ std stdbind c++11

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

多个case/when条件时带||

我一直在测试这段代码,它没有像我预期的那样工作.有人可以对此有所了解吗?

language = { JS: "Websites", Python: "Science", Ruby: "Web apps" }

puts "What language would you like to know? "
choice = gets.chomp
case choice
when "js" || "JS"
  puts "Websites!"
when "Python" || "python"
  puts "Science!"
when "Ruby" || "ruby"
  puts "Web apps!"
else
  puts "I don't know!"
end
Run Code Online (Sandbox Code Playgroud)

当我输入它的第一个条目时,但如果我使用后一个条目它会打印"我不知道!"

即:如果我输入'js'运行,但如果我输入'JS'它会抛出'我不知道'!

ruby switch-statement

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

如何在打字稿模板字符串上更改Notepad ++语法突出显示

使用Notepad ++在Typescript中编写模板字符串时,当我专注于模板字符串时,字符串前景变为白色,这与背景颜色形成了鲜明对比,我在“设置”选项卡中检查了Notepad ++样式配置器,但没有看到任何选项完全更改焦点时更改模板字符串的前景色。

当模板字符串没有焦点时,看起来不错


在此处输入图片说明


当它有焦点时,我几乎看不到字符串


在此处输入图片说明

我该如何改变?

syntax-highlighting notepad++ typescript template-strings

4
推荐指数
2
解决办法
7218
查看次数

数组索引的模运算

我有一个关于使用按钮切换一些图像的教程,这是代码

public class MainActivity extends AppCompatActivity {
private static ImageView andro;
private static Button buttonswitch;

int current_image_index = 0;
int[] images = {R.mipmap.andro_img,R.mipmap.apple_image,R.mipmap.ic_launcher,R.mipmap.ic_launcher_round};
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    buttonClick();
}
public void buttonClick() {
    andro = (ImageView) findViewById(R.id.imageView);
    buttonswitch = (Button) findViewById(R.id.button);
    buttonswitch.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    current_image_index++;
                    current_image_index = current_image_index % images.length;
                    andro.setImageResource(images[current_image_index]);
                }
            }
    );
}
}
Run Code Online (Sandbox Code Playgroud)

这部分我真的很困惑:

 @Override
            public void onClick(View view) {
                current_image_index++;
                current_image_index = current_image_index % images.length; …
Run Code Online (Sandbox Code Playgroud)

java arrays modulus

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